业界动态
iOS开发技巧汇总手机震动器「iOS开发技巧汇总」
2025-02-17 12:19

12、三个通知

NSSystemTimeZoneDidChangeNotification监听修改时间界面的两个按钮状态变化
UIApplicationSignificantTimeChangeNotification 监听用户改变时间 (只要点击自动设置按钮就会调用) NSSystemClockDidChangeNotification 监听用户修改时间(时间不同才会调用

13、SDWebImage本地缓存有时候会害人。如果之前缓存过一张图片,即使下次服务器换了这张图片,但是图片url没换,用sdwebimage下载下来的还是以前那张,所以遇到这种问题,不要先去怼服务器,清空下缓存再试就好了。

14、上线前注意

1)、删掉代码中所有的代码
2)、如果后台有审核模式,提醒后台开启此模式
3)、主流程再跑一跑
4)、全局搜索waring,检查所有标记waring的地方

15、跳进app权限设置

16、给一个view截图

17、开发中如果要动态修改tableView的tableHeaderView或者tableFooterView的高度,需要给tableView重新设置,而不是直接更改高度。正确的做法是重新设置一下tableView.tableFooterView = 更改过高度的view。为什么?其实在iOS8以上直接改高度是没有问题的,在iOS8中出现了contentSize不准确的问题,这是解决办法。

18、注意对象为nil的时候,调用此对象分类的方法不会执行

19、collectionView的内容小于其宽高的时候是不能滚动的,设置可以滚动

20、设置navigationBar上的title颜色和大小

21、颜色转图片

22、view设置圆角

23、强/弱引用

24、由角度转换弧度

25、由弧度转换角度

26、获取图片资源

 

27、获取temp

 

28、获取沙盒 document

 

29、获取沙盒 Cache

 

30、GCD代码只执行一次

31、自定义NSLog

 

32、Font

33、FORMAT

34、在主线程上运行

35、开启异步线程

36、通知

37、随机颜色

38、获取window

39、修改textField的placeholder的字体颜色、大小

 

40、统一收起键盘

41、控制屏幕旋转,在控制器中写

42、获取app缓存大小

43、清理app缓存

44、模型转字典

45、交换两个方法实现

46、打印百分号和引号

47、几个常用权限判断

48、获取手机型号

49、长按复制功能

50、cocoapods升级

在终端执行 sudo gem install -n / usr / local / bin cocoapods --pre

51、设置启动页后,依然显示之前的

删除app,手机重启,重新安装

52、判断图片类型

53、获取手机和app信息

54、获取一个类的所有属性

55、image圆角

56、image拉伸

57、JSON字符串转字典

58、身份证号验证

59、获取设备mac地址

 

60、导入自定义字体库

1、找到你想用的字体的 ttf 格式,拖入工程
2、在工程的plist中增加一行数组,“Fonts provided by application”
3、为这个key添加一个item,value为你刚才导入的ttf文件名
4、直接使用即可:label.font = [UIFont fontWithName:@"你刚才导入的ttf文件名" size:20.0]

61、拿到当前正在显示的控制器,不管是push进去的,还是present进去的都能拿到

62、runtime为一个类动态添加属性

63、获取runtime为一个类动态添加的属性

64、KVO监听某个对象的属性

65、Reachability判断网络状态

66、AFNetworking监听网络状态

67、透明颜色不影响子视图透明度

68、取图片某一点的颜色

69、判断该图片是否有透明度通道

70、获得灰度图

71、根据bundle中的文件名读取图片

72、合并两个图片

73、根据bundle中的图片名创建imageview

74、为imageView添加倒影

75、画水印

76、让label的文字内容显示在左上/右上/左下/右下/中心顶/中心底部

77、scrollView上的输入框,键盘挡住的问题

78、frame布局的cell动态高度

这种通常在你的模型中添加一个辅助属性cellHeight,在模型中重写这个属性的get方法,根据你的布局和模型中的其他属性值计算出总高度。最后在tableView:heightForRow方法中,根据indexPath找出对应的模型,返回这个高度即可。

79、AutoLayout布局的cell动态高度


cell

80、使用performSelector:调用函数,内存泄漏问题

当我们在开发中使用[obj performSelector:NSSelectorFromString(@"aMethod")];这类方法时可能会收到一个警告"performSelector may cause a leak because its selector is unknown".
是因为编译器不清楚这个对象能不能相应这个方法,如果不能,则是不安全的,而且编译器也不清楚该怎么处理这个方法的返回值

81、一个字符串是否包含另一个字符串

82、cell去除选中效果

83、cell点按效果

84、当删除一个从xib拖出来的属性时,一定记得把xib中对应的线也删掉,不然会报类似[<ViewController 0x7fea6ed05980> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key的crash


点击这个叉号删除

85、真机测试的时候报错:Could not launch "你的 App",process launch failed: Security

因为你的app没有上线,iOS9开始,需要手动信任Xcode生成的描述文件,打开手机设置->通用->描述文件->点击你的app的描述文件->点击信任

86、真机测试的时候报错:Could not find Developer Disk Image

这是因为你的设备系统版本大于Xcode能兼容的系统版本,比如你的设备是iOS10.3,而Xcode版本是8.2(Xcode8.2最大兼容iOS10.2,就会报这个错误。解决办法就是升级Xcode

87、UITextView没有placeholder的问题

网上有很多此类自定义控件,也可以参考下我写的一个UITextView分类 UITextView-WZB

88、移除字符串中的空格和换行

89、判断字符串中是否有空格

90、获取一个视频的第一帧图片

91、获取视频的时长

92、字符串是否为空

93、将app上传到App Store的时候通常会遇到这个问题


try again

很多人说这事苹果爸爸服务器问题,重复尝试几次,总会成功的
但是经过尝试发现如果使用Application Loader上传成功率就非常高,所以还是推荐把ipa文件导出直接用Application Loader上传。
如果Application Loader也不行,需要检查下自己的网络,有时候vpn也会提高速度。

94、当tableView占不满一屏时,去除下边多余的单元格

95、isKindOfClass和isMemberOfClass的区别

96、__block

当一个局部变量需要在block里改变时,需要在定义时加上__block修饰,具体请看官方文档 http://developer.apple.com/library/ios/documentation/cocoa/Conceptual/Blocks/Articles/bxVariables.html#//apple_ref/doc/uid/TP40007502-CH6-SW6

97、-[ViewController aMethod:]: unrecognized selector sent to instance 0x7fe91e607fb0

这是一个经典错误,ViewController不能响应aMethod这个方法,错误原因可能viewController文件中没有实现aMethod这个方法

98、UITableView (<UITableView: 0x7ff19b027000; >) failed to obtain a cell from its dataSource (<ViewController: 0x7ff19a507520>)

这个错误原因是tableView的代理方法-tableView:cellForRowAtIndexPath:需要返回一个UITableViewCell,而你返回了一个nil。另外这个地方返回值不是UITableViewCell类型也会导致崩溃

99、约束如何做UIView动画

100、从NSURL中拿到链接字符串

101、将tableView滚动到顶部

102、如果用addTarget:action:forControlEvents:方法为一个button添加了很多点击事件,在某个时刻想一次删除怎么办?只需要调用下边这句代码

103、某个字体的高度

104、删除某个view所有的子视图

105、删除NSUserDefaults所有记录

106、禁用系统滑动返回功能

107、模拟器报错


模拟器报错

解决办法
打开模拟器->Simulator->Reset Content and Settings...
如果不行,就重启试试

108、自定义cell选中背景颜色

109、UILabel设置内边距

110、UILabel设置文字描边

111、使用模拟器截图

快捷键command + s
或者File->Save Screen Shot

112、scrollView滚动到最下边

113、UIView背景颜色渐变

114、停止UIView动画

115、为UIView某个角添加圆角

116、删除Xcode Derived data缓存数据

依次点击Xcode -> Preferences -> location,然后点击 Derived data路径后到小箭头,删除这个文件夹下的数据就可以了,如图


Xcode Derived data

117、将一个view放置在其兄弟视图的最上面

118、将一个view放置在其兄弟视图的最下面

119、让手机震动一下

120、layoutSubviews方法什么时候调用

1、init方法不会调用
2、addSubview方法等时候会调用
3、bounds改变的时候调用
4、scrollView滚动的时候会调用scrollView的layoutSubviews方法(所以不建议在scrollView的layoutSubviews方法中做复杂逻辑)
5、旋转设备的时候调用
6、子视图被移除的时候调用
参考请看:http://blog.logichigh.com/2011/03/16/when-does-layoutsubviews-get-called/

121、让UILabel在指定的地方换行

122、摇一摇功能

123、获取图片大小

124、获取view的坐标在整个window上的位置

125、提交App Store审核程序限制

您的应用程序的未压缩大小必须小于4GB。每个Mach-O可执行文件(例如app_name.app/app_name)不能超过这些限制
对于MinimumOSVersion小于7.0的应用程序TEXT二进制文件中所有部分的总数最多为80 MB 。
对于MinimumOSVersion7.x到8.x的应用程序
TEXT对于二进制文件中每个体系结构片段的每个片段,最大为60 MB 。
对于MinimumOSVersion9.0或更高版本的应用程序:__TEXT二进制文件中所有部分的总数最多为500 MB 。参阅:iTunes Connect开发者指南

126、修改UISegmentedControl的字体大小

127、在非ViewController的地方弹出UIalertController对话框

128、获取一个view所属的控制器

129、UIImage和base64互转

130、UIWebView设置背景透明

131、判断NSDate是不是今天

132、设置tableView分割线颜色

133、设置屏幕方向

134、比较两个颜色是否相等

135、tableViewCell分割线顶到头

136、不让控制器的view随着控制器的xib拉伸或压缩

137、cocoaPods报错 : [!] Unable to add a source with url  named.

You can try adding it manually in  or via .

解决方法:这是因为电脑里安装了另外一个Xcode导致cocoapods找不到路径了
在终端执行 sudo xcode-select -switch /Applications/Xcode.app 即可

138、安装cocoapods的时候出现 ERROR: While executing gem ... (Errno::EPERM)

    以上就是本篇文章【iOS开发技巧汇总手机震动器「iOS开发技巧汇总」】的全部内容了,欢迎阅览 ! 文章地址:http://fabua.ksxb.net/news/8784.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 海之东岸资讯移动站 http://fabua.ksxb.net/mobile/ , 查看更多   
最新文章
百万级维权,这届玩家越来越不好“糊弄”了
这两天,游戏圈里最热的梗,大概莫过于网易旗下的女性向游戏的运营事件中的“三连大字报”。·《世界之外》没有涨价。·《世界之
Heather Wardle 处在游戏与赌博交织的模糊地带
原载简介本文转自落日间—译介的(https://xpaidia.com/sunset-project/ )“游戏 - 赌博 - 耗费 Game - Gambling - Consuming
手摇八音盒、好书盲盒、限量文创织锦大礼包……橙柿福利8月上新
橙柿生活精彩纷呈,每天发帖打卡,有机会赢得花式奖品。活动多多,福利多多,快来参与吧!  【爆款推荐】动漫圈#八月次元猎人21
连平等:下半年政策层面有哪些重要看点?|政策与监管
文/广开首席产业研究院院长兼首席经济学家连平,广开首席产业研究院刘涛、马泓、王运金7月30日,中共中央政治局召开会议,分析研
渭滨区2025年义务教育学校招生入学公告(第1号)
渭滨区2025年义务教育学校招生入学公告(第1号)小学根据《中华人民共和国义务教育法》要求,结合我区实际,按照“划定学区、就
对话测测任永亮:把心情、星座、MBTI “产品化”,还赚到钱的人
为什么人总想测测自己?文丨王与桐编辑丨宋玮一款长期霸榜女性用户心智的产品,融合了星座、MBTI、情绪洞察等泛心理工具,看上去
青记独家|郭晓科 蒋予格:媒体融合的突围与进路:以“人民性”推进主流媒体系统性变革
一、引言回顾过去十年,在“党性”和“人民性”旗帜鲜明的底色下,媒体融合实现了由表及里、由点到面向深水区的稳步推进。中国语
7月BCI指数比上月小幅下降|NO.159
2025年7月,“长江商学院中国企业经营状况指数” (CKGSB Business Conditions Index,简称BCI) 于日前发布。数据显示,7月BCI录
建发股份在海南设立国际控股 注册资本为2亿元
观点网讯:8月4日,在海南设立国际控股有限公司,旨在拓展智能无人飞行器销售等电子设备业务领域。该公司注册资本为2亿元,经营
深圳建筑电工哪里能办,建筑电工培训上岗,年审
深圳建筑电工证在哪办建筑焊工证件属于建设厅规定的建设工地必须配备的建筑​特种上岗证,上岗作业人员需考取并佩戴该证件