iOS开发零碎知识点整理

来源:互联网 发布:达摩画像淘宝 编辑:程序博客网 时间:2024/05/22 12:52

转载自标哥的技术博客:http://www.huangyibiao.com/ios-good-knowledge/

另外添加了自己之前留意的开发小点加在后面,以后翻阅备用

1.调用代码使APP进入后台

suspend的英文意思有:暂停; 悬; 挂; 延缓;

2.带中文的URL处理

大概举个例子,类似下面的URL,里面直接含有中文,可能导致播放不了,那么我们要处理一个这个URL,因为他太操蛋了,居然用中文。

3.取WebView高度

个人最常用的获取方法,感觉这个比较靠谱:

4.View设置图片

第一种方法

利用的UIView的设置背景颜色方法,用图片做图案颜色,然后传给背景颜色。

第二种方法

5.去TableView分割线

6.调cell分割线位置

7、Label注意事项

UILabel和UIImageView的交互userInteractionEabled默认为NO。那么如果你把这两个类做为父试图的话,里面的所有东东都不可以点击哦。

曾经有一个人,让我帮忙调试bug,他调试很久没搞定,就是把WMPlayer对象(播放器对象)放到一个UIImageView上面。这样imageView addSubView:wmPlayer 后,播放器的任何东东都不能点击了。userInteractionEabled设置为YES即可。

8、搜索条Cancel改标题

9、TableView收键盘

一个属性搞定,效果好(UIScrollView同样可以使用) 以前是不是觉得[self.view endEditing:YES];很屌,这个下面的更屌。

另外一个枚举为UIScrollViewKeyboardDismissModeInteractive,表示在键盘内部滑动,键盘逐渐下去。

10、NSTimer

  1. NSTimer计算的时间并不精确
  2. NSTimer需要添加到runLoop运行才会执行,但是这个runLoop的线程必须是已经开启。
  3. NSTimer会对它的tagert进行retain,我们必须对其重复性的使用intvailte停止。target如果是self(指UIViewController),那么VC的retainCount+1,如果你不释放NSTimer,那么你的VC就不会dealloc了,内存泄漏了。

11、十六进制取颜色

12、获取今天是星期几

13、UIView的部分圆角问题

从名字很容易看出来代表的意思,使用“|”来组合就好了。

14、滑动时隐藏navigationBar

15、iOS画虚线

记得先 QuartzCore框架的导入

16、自动布局多行UILabel问题

需要设置其preferredMaxLayoutWidth属性才能正常显示多行内容。另外如果出现显示不全文本,可以在计算的结果基础上+0.5。

17、禁止运行时自动锁屏

18、KVC相关

KVC同时还提供了很复杂的函数,主要有下面这些

①简单集合运算符

简单集合运算符共有@avg, @count , @max , @min ,@sum5种,都表示啥不用我说了吧, 目前还不支持自定义。

打印结果

例2

19、用MBProgressHud问题

尽量不要加到UIWindow上,加self.view上即可。如果加UIWindow上在iPad上,旋转屏幕的时候MBProgressHud不会旋转。之前有人遇到这个bug,我让他改放到self.view上即可解决此bug。

20、强制App直接退出

21、Label行间距

22、pod更新慢的问题

如果不加后面的参数,默认会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。

23、MRC和ARC混编设置方式

在XCode中targets的build phases选项下Compile Sources下选择->不需要arc编译的文件,双击输入 -fno-objc-arc 即可

MRC工程中也可以使用ARC的类,方法如下:

在XCode中targets的build phases选项下Compile Sources下选择要使用arc编译的文件,双击输入 -fobjc-arc 即可

24、cell对勾颜色修改

25、同时按两个按钮问题

26、修改占位符颜色和大小

27、禁止复制粘贴

28、进入App在AppStore页面

先用iTunes Link Maker找到软件在访问地址,格式为itms-apps://ax.itunes.apple.com/…,然后复制链接!

如果把上述地址中itms-apps改为http就可以在浏览器中打开了。可以把这个地址放在自己的网站里,链接到app store。 iTunes Link Maker地址:http://itunes.apple.com/linkmaker

29、隐藏系统tabbar

二级、三级界面隐藏系统tabbar方法.

1、单个处理

2.统一在基类里面处理

新建一个类BaseNavigationController继承UINavigationController,然后重写 -(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated这个方法。所有的push事件都走此方法。

30、取消系统的返回手势

一行代码搞定:

31、改WebView字体/颜色

UIWebView设置字体大小,颜色,字体: UIWebView无法通过自身的属性设置字体的一些属性,只能通过html代码进行设置 在webView加载完毕后:

或者加入以下代码

NSString *jsString= [[NSStringalloc] initWithFormat:@"document.body.style.fontSize=%f;document.body.style.color=%@",fontSize,fontColor];  [webView stringByEvaluatingJavaScriptFromString:jsString];

32、判断当前控制器是由哪个控制器推进来的

NSArray * vcsArray = self.navigationController.viewControllers;    NSInteger vcCount = vcsArray.count;    UIViewController *lastVC = vcsArray[vcCount-2];//最后一个vc是自己,倒数第二个是上一个控制器。//    假设cVC来源可能是 VCClass1,VCClass2的实力push来的//    那么只要判断出lastVC类型,就可以判断其是谁push来的:    if ([lastVC isKindOfClass:[NHUserViewController class]]) {    }else if ([lastVC isKindOfClass:[NHOrderConfirmViewController class]]){    }

33、导航栏设置为不透明

self.navigationController.navigationBar.translucent = NO;  

iOS 导航栏透明,变色动画

http://www.jianshu.com/p/bcac3a61702f






0 0
原创粉丝点击