
iOS
文章平均质量分 54
Understand_XZ
热爱生活,热爱代码。
展开
-
XZ_iOS 之 M1 M2 M3的M系列芯片的Mac苹果电脑安装cocoapods
M系列芯片的Mac苹果电脑安装cocoapods 安装的顺序如下:Homebrew->rvm->ruby->cocoapods。原创 2023-12-19 11:57:05 · 2612 阅读 · 0 评论 -
XZ_Swift 在Swift中以字符串形式获取对象的类名
作为变量(work with both value type or reference type)的扩展。是大多数Objective-C类层次结构的根类,所以可以尝试对。或者可以创建一个静态函数,其参数类型为。原创 2023-05-09 13:46:13 · 781 阅读 · 0 评论 -
XZ_Swift 之修改 UIPickerView 的文字大小
直接使用代理方法attributedTitleForRow即可实现,不需要使用func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView 方法// MARK: - UIPickerViewDelegate func pickerView(_ pickerView: UIPickerView, .原创 2021-11-02 16:55:33 · 2062 阅读 · 0 评论 -
XZ_iOS iOS13浅色模式/暗黑模式导航栏颜色不自动适配
浅色模式/暗黑模式导航栏不自动适配进行暗黑模式适配的时候,发现来回切换暗黑模式和浅色模式时,导航栏和tabBar不随着设置改变。查找许久,发现切换暗黑模式和浅色模式有个监听方法,如下:override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { tabBar.backgroundImage = UIImage.imageFrom(color: Asset.Color原创 2021-03-31 15:50:19 · 1079 阅读 · 0 评论 -
XZ_iOS 之 代码创建的collectionView,在storyboard中调用出现的布局问题
代码创建的collectionView,在storyboard中调用,item的大小不正确的问题解决:设置的是平分屏幕的宽度,结果显示出来的是下图,打印出来的宽度计算的没问题,只是显示出来的宽度不对,正确的显示如下图:实际显示出来的是下图:方法一:extension XZButtonCollectionView: UICollectionViewDelegateFlowLayout { func collectionView(_ collectionView: UIColl原创 2021-01-11 10:37:37 · 400 阅读 · 1 评论 -
XZ_iOS之 CGFloat 数值计算之后,精度丢失的问题解决
extension String {/// 解决精度丢失问题 func dealPrecisionLoss() -> String { let doubleValue = Double(self) ?? 0 let doubleString = String(format: "%lf", doubleValue) let decNumber = NSDecimalNumber(string: doubleString) let.原创 2021-01-11 10:30:02 · 1124 阅读 · 0 评论 -
XZ_iOS 之将WKWebView转成PDF然后再生成图片保存到相册
web页中有个'下载'按钮,需求想让点击'下载'的时候把图片下载到相册,查看web页发现,需要保存到相册的内容是PDF,不是图片,因为这个web页面是银行的,不是我们自己的,而且没法直接拿到这个PDF的下载地址进行文件下载;想着就先把web页内容转换成PDF,然后把PDF文件转成图片保存到相册中,以下是实现的代码:1、将WKWebView转成PDFimport UIKitclass PDFRender: UIPrintPageRenderer { // A4纸大小 595*842原创 2020-08-07 15:22:10 · 2062 阅读 · 1 评论 -
XZ_iOS 动态添加viewController到tabBarController中
1、根据数据请求返回的数据,控制tabBar的item动态显示与隐藏:HomeViewController.swiftprivate func getShowHiddenCeShi1() { let urlString = PostPath.isDisplayTest.path XZNetworkManager().requestWith(URLString: urlString, parameters: nil, headers: nil) {原创 2020-05-29 12:01:47 · 1007 阅读 · 0 评论 -
XZ_iOS 之 如何用GCD同步若干异步调用?
例如:根据若干url异步加载多张图片,在都下载完成后合成一张整图解决:使用dispath Group追加block到Global Group Queue,这些block如果全部执行完毕,就会执行Main Dispatch Queue中的结束处理的block // 创建队列 dispatch_group_t group = dispatch_group_create(); // 获取全局并发队列 dispatch_queue_t queue = dispatch_get原创 2020-05-28 10:59:15 · 280 阅读 · 0 评论 -
XZ_iOS 之开发者账号续费 你的支付授权失败 请核对你的信息并重试 或尝试其他支付方式 请联系你的银行了解更多信息
开发者账号续费时,去年续费没有任何问题,今年续费就提示"你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。请联系你的银行了解更多信息"解决:1、联系信息里面不要使用QQ邮箱!!!我改成了企业邮箱就可以了。2、账单信息我直接使用的卡的持有人的姓名等信息,未尝试使用别的是不是不会成功。...原创 2020-05-26 14:39:29 · 1210 阅读 · 0 评论 -
XZ_iOS 新特性引导页图片适配及其尺寸大全
随着苹果的尺寸越来越多,各种尺寸机型的新特性图片适配也越来越复杂,最初的想法是使用3张图片或者一张最大的图片,适配所有的机型,运行之后发现图片会被缩放或者拉伸,这样的话,只能放大招了(各个机型都给一套新特性图片)。1、最新的苹果各机型尺寸图片2、如何创建多图的imageset 由于我们的APP适配iOS9以后的,我们需要适配5和SE的屏幕尺寸,每个新特性图片就需要以下6个尺寸:1242x2688px、828x1792px、1125x2436px、1242x2208px、750x1...原创 2020-05-19 10:01:32 · 973 阅读 · 0 评论 -
XZ_iOS 之 WKWebView字体font相比UIWebView更小
我将UIWebView更改为WKWebView,使用相同的html,WKWebView中的字体看起来比UIWebView中的字体小。有什么办法可以避免这种更改?我是通过添加一个html字符串解决了这个问题:对于Objective-C:NSString *headerString = @"<header><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale..原创 2020-05-12 20:54:22 · 447 阅读 · 0 评论 -
XZ_iOS 之 App Store Connect 上传ipa包到App Store的三种方式
在 App Store Connect 中创建 App 记录后,您便可以通过 Xcode、macOS 版 Transporter 或 altool 上传构建版本。如果您使用 App Store Connect API,则建议您通过命令行工具 Transporter 和 JSON 网络令牌(JWT)验证来上传二进制文件。用于 API 的 JWT 也可以用于上传二进制文件。目录1、通过 Xco...原创 2020-02-28 08:59:09 · 2382 阅读 · 0 评论 -
XZ_iOS 之最新的AppIcon和LaunchImage的图片尺寸
LaunchImage的图片尺寸AppIcon的图片尺寸新特性图片尺寸原创 2020-02-11 09:44:38 · 478 阅读 · 0 评论 -
You Apple Developer Program membership expires in 12 days
正常的时候,开发者账号需要续费,直接登录在顶部显示下图,点击'Renew Membership',按步骤续费就可以了。但是,我今天登录开发者账号的时候,却遇到了下面的问题,右侧是'Learn More'You Apple Developer Program membership expires in 12 daysRenew your membership to keep your...原创 2020-01-07 16:08:40 · 7618 阅读 · 10 评论 -
XZ_iOS 之给CollectionView添加headerView
使用 ContentInset 属性给collectionView添加类似于tableView的HeaderView,设置代码如下:self.collectionView.contentInset = UIEdgeInsetsMake(150, 0, 0, 0);仅仅只是添加这句代码,可以实现内容下移,但是,添加的mj_header也随之偏移,效果图如下:MJRefresh...原创 2019-12-31 16:33:17 · 621 阅读 · 0 评论 -
XZ Mac系统SourceTree3 的安装与使用超详尽教程
首先,SourceTree最新版的下载地址下载之后,打开的页面是下图这样的,需要登录才可以安装1>点击右侧的Bitbucket服务器登录的话,会弹出下面的弹窗:2>我选择的是左侧的Bitbucket云的方式登录的,点击Bitbucket云会自动吊起默认的浏览器,最好是Google浏览器,Safari我觉得不太好用,需要翻墙。整个过程,其实是OAuth授权登录的过程。步骤...原创 2019-12-31 16:33:58 · 554 阅读 · 0 评论 -
XZ_iOS 获取App Store版本号和APP版本号并进行比较大小
1、从App Store获取版本号 func appStoreVersion(appId: String) { let config = URLSessionConfiguration.default let session = URLSession(configuration: config) let url = URL(string: "h...原创 2019-12-14 13:51:31 · 589 阅读 · 0 评论 -
XZ_iOS 之开发者账号续费问题
一般开发者账号快过期的前一个月,会给注册的邮箱发邮件提醒,这时候登录上开发者中心,会出现下面图片中效果:注意:如果进入当前页面右侧显示的不是上图,而是显示联系某某某,可能是因为当前账号的持有人不是该邮箱登录的账号。点击 Renew Membership1>根据个人需要选择是否需要开具发票;2>填写支付方式:需使用Visa或者Mastercard的信用卡,填写卡号、...原创 2019-11-08 14:58:54 · 360 阅读 · 0 评论 -
XZ_iOS 之 Undefined symbols for architecture arm64
使用Xcode10.3进行命令行打包的时候,出现下面的问题:Undefined symbols for architecture arm64: "_swift_getFieldAt", referenced from: HandyJSON.Metadata.Class._propertyDescriptionsAndStartPoint() -> ([HandyJSON...原创 2019-11-04 16:00:47 · 483 阅读 · 0 评论 -
XZ_iOS 之在Swift中引用OC的代码
在开发过程中,我们两个项目的工程一个是使用Swift代码编写的,一个是使用OC代码编写的,现在要实现相同的功能,打算在OC中嵌入Swift代码,下面我以一个新的工程给大家举例一下操作的过程:1、在OC工程中,创建一个Swift文件,这时候会问你是否生成桥接文件,点击是,这时候系统会自动生成Swift的桥接文件,如下图:2、在Build Setting中,将Defines Module...原创 2019-11-04 13:33:21 · 240 阅读 · 0 评论 -
XZ_iOS 之 linker command failed with exit code 1
我们在多人开发的时候,拉取别人的代码运行的时候,报错:linker command failed with exit code 1 (use -v to see invocation)1、代码使用了cocoapod 管理第三方框架,且pod第三方的时候,是另一个同事pod的,尝试使用cd 到当前文件件pod installpod完之后,运行解决了当前问题。2、另一个同事这...原创 2019-11-04 09:14:11 · 364 阅读 · 0 评论 -
XZ_iOS 之 iOS 与 H5 进行js交互的各种问题
需求:js调原生页面,并把参数传过来问题:js调起的方法走,但是获取不到参数原因1:前端 APP 代码导致的把参数的接收放在了主线程里面,因为页面的跳转需要放在主线程中,因为页面的刷新需要在主线程中,否则可能会引起崩溃。如下图:解决:正确的写法context[@"yaoQingHaoYou"] = ^() { NSArray *args = [JSCont...原创 2019-10-12 09:29:37 · 437 阅读 · 1 评论 -
XZ_iOS中推送通知~本地推送通知的实现
本地推送通知:顾名思义,就是不需要联网就能发出的推送通知(不需要服务器的支持)本地推送通知的使用场景:1>常用来定时提醒用户完成一些任务,比如:清理垃圾、记账、买衣服、看电影、玩游戏原创 2016-03-01 21:50:29 · 479 阅读 · 0 评论 -
XZ_iOS中清除缓存的实现
清除缓存的两种实现方式计算缓存的大小,然后清除缓存分两种:1>图片缓存;2>cache文件夹中的缓存。1>对于清除图片缓存:SDWebImage就可以做到。// 计算文件大小 NSUInteger imageSize = [SDImageCachesharedImageCache].getSize; // 进行单位转换:将byte转成M原创 2016-03-11 22:01:14 · 455 阅读 · 0 评论 -
XZ_iOS之实现离线缓存
离线缓存的实现思路:从沙盒中加载缓存的数据,如果有缓存,直接从沙盒加载缓存的数据,如果没有缓存,发送请求给服务器,然后展示服务器返回的数据,并将返回的数据缓存到沙盒中。使用FMDB实现而不是使用CoreData的原因:因为FMDB是我们来决定SQL语句怎么写,我们想效率怎样就怎样,比较自由。而CoreData是按照它自己的方式生成SQL语句,所以有时候会生成一堆的SQL语句,导致有些SQL语句原创 2016-03-12 23:16:30 · 794 阅读 · 0 评论 -
XZ_iOS之在webView的头部添加一个头视图并随着webView滚动,webView底部的黑色部分去掉
我们想要头部添加到webView上,而且能随着滚动,我们就要明白webView之所以能够显示这么多的内容,而且可以滚动就是因为这个scrollView的属性,所以,我们想要头部视图也可以滚动,就得将头部视图加在ScrollView上。我们在视图上添加完webView之后,我们将webView的scrollView的的contentInset设置一下,contentInset可以在四周增加滚原创 2016-07-11 15:52:36 · 2613 阅读 · 0 评论 -
XZ_iOS之实现textField限制只能输入数字,无论是第三方键盘还是自带键盘
如果用户使用的是苹果自带键盘,则使用labelName.keyboardType = UIKeyboardTypeNumberPad;就可以实现只能输入数字,但是,如果用户手机使用的是自己下载的输入法,则使用下面方法实现只能输入数字- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSR原创 2016-07-04 14:26:01 · 1860 阅读 · 0 评论 -
XZ_iOS之textFiled输入的手机号只能是数字且是11位
#pragma mark UITextFieldDelegate//只允许输入数字,且只有11位数-(BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string{ if (tex原创 2016-07-11 16:03:38 · 1788 阅读 · 0 评论 -
XZ_iOS之block封装代码块
在写代码的时候,有的时候一段代码在同一个方法中要使用多次,那我们就将重复使用的代码使用block块封装起来,这个可以在这个方法中好多次调用原创 2016-07-04 10:41:40 · 576 阅读 · 1 评论 -
XZ_iOS之设置label的行间距
label默认的行间距太小了,如果想要界面的效果更好,可以使用富文本,设置label的行间距原创 2016-07-04 11:00:58 · 584 阅读 · 0 评论 -
XZ_iOS之使用GCD实现发送验证码
使用GCD实现发送验证码原创 2016-07-04 13:53:42 · 431 阅读 · 0 评论 -
XZ_iOS之使用textView实现占位文字
众所周知,textField有占位文字,但是很多时候textfield并不能实现我们的需求,这时候就要用到textView了,但是textView又没有占位文字,所以,我今天就是使用textView实现有占位文字XZTextView.h中/** 占位文字 */@property (nonatomic,strong) NSString *placeholder原创 2016-07-04 14:14:11 · 956 阅读 · 1 评论 -
XZ_iOS之判断输入的是不是银行卡号
//判断银行卡- (BOOL) checkCardNo:(NSString*) cardNo{ int oddsum = 0; //奇数求和 int evensum = 0; //偶数求和 int allsum = 0; int cardNoLength = (int)[c原创 2016-07-04 14:31:12 · 972 阅读 · 0 评论 -
XZ_iOS中判断是从哪个控制器push进来的,返回指定控制器
iOS中判断是从哪个控制器push进来的,返回指定控制器原创 2016-07-19 15:15:16 · 4415 阅读 · 0 评论 -
XZ_iOS之打开QQ临时会话列表和拨打电话
我们的app有的时候,想要是实现跟客服聊天的功能,但是,又不想使用即时通讯,这时候我们可以进入QQ的临时对话列表,如果用户聊天功能用的不是很多的话,可以使用这个功能实现跟客服聊天的功能。1、打开QQ临时对话列表;2、调用系统打电话的方法。原创 2016-07-19 20:23:12 · 1102 阅读 · 2 评论 -
XZ_iOS之KVC
利用KVC可以随意修改一个对象的属性或者成员变量(并且私有的也可以修改)[p setValue:@10.5 forKey:@"_height”];[p setValue:@10.5 forKey:@"height”];// 先去找height的成员变量,如果没有,再去找_height,所以,写_和不写都可以;KVC作用:系统的一些东西不好用的时候,替换系统的一些东西比如原创 2016-07-19 20:40:20 · 415 阅读 · 0 评论 -
XZ_iOS中只选中一个button
有的时候tableView的每一行cell的右侧都是一个button,但是我们需要实现的功能是其中一个为选中状态,其他按钮选中状态为不选中状态,这时候我们可以设置一个中间的成员变量CurrentBtn,用来记录当前是哪一个button,用它来进行操作,代码如下:// 当前点击的button@property (nonatomic, strong) UIButton *currentBtn;原创 2016-07-20 08:37:49 · 1110 阅读 · 0 评论 -
XZ_iOS之网页去广告
// 方法一: - (void)showNews:(NSDictionary*)news { // 1.取出网页内容 NSString*body = news[@"body"]; // 2.取出图片 NSDictionary*img = [news[@"img"] lastObject];原创 2016-08-02 13:39:45 · 540 阅读 · 0 评论 -
XZ_iOS之UITableView的代理方法的执行顺序
1分区数- (NSInteger)numberOfSectionsInTableView:(UITableView*)tableView2分区header/footer高度- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section- (CGFloat)原创 2016-08-08 23:18:46 · 748 阅读 · 0 评论