美文网首页iOS开发之中级
iOS开发中的小细节(知识)

iOS开发中的小细节(知识)

作者: asaBoat | 来源:发表于2017-04-29 09:53 被阅读19次
  • 在xib中加入手势识别器,会被当做一个对象,所以加载xib的时候注意返回相应的对象。

  • cocoa 命名遵循驼峰规律,所以initwithDict 不属于构造方法(initWithDict),不能在里面对self赋值。

  • return cell,如果在主线程中cell.imageView.image 不设值,等异步线程下载完成图片再设置cell.imageView.image 的值,图片只有再次刷新时候显示。这是因为一开始tableviewCell没有准备imageView的尺寸而渲染到屏幕上,当异步线程设置完图片以后,这个cellimageView.image被设置,当上拉下拉滑动滑动时重新返回cell(imageView.image有尺寸)

  • new开头的属性名不可用。【object newXXX】返回object对象,而属性的getter方法会返回相应的属性类型的新对象,因此形成冲突直接报错。

  • iOS9之后,程序启动的时候keyWindow必须要有rootViewController,否则崩掉。

  • iOS9之后,状态栏控制默认交给最上层window(window有相应等级,默认不显示)的当前控制器管理控制。

  • 把一个子控件加入到superview之后才可以查看到其真正的frame,如果程序刚启动,一般我们要等到程序获得焦点之后查看控件frame。

  • UIDatePicker继承自UIControl,而UIPickerView继承自UIView。

  • textField 有 inputView 和inputAccessoryView两个挺有用的属性。

  • 控制器的view是延时加载模式,当使用的时候才会加载。比如view.backgroundcolor = UIColor redColor,此时如果load view 方法实现,则调用此方法自定义view,否则会从xib或者storyboard中加载view或者加载空view,之后调用viewDidLoad方法,只有loadView执行完毕view才算加载到窗口上。

  • storyboard

    // 创建storyboard对象
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Two" bundle:nil];
    
    // 实例化storyboard里面控制器(initial view controller箭头所指的控制器)
     UIViewController *vc = [storyboard instantiateInitialViewController]; 
    
    // 根据id从storyboard中实例化相应的控制器
    //MJTwoViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"pink”];
    

self.window.rootViewController = vc;

```
  • tableview的静态单元格使用时,如果用到自定义controller需要去除tableview的数据源方法(否则静态单元格无效)。动态原始单元格cell使用时,只需要调用dequeueReusableCell方法即可加载storyboard中的可复用cell。

  • scrollView的subviews

    这里测试:
    _ scrollView.showsHorizontalScrollIndicator = NO;
    _ scrollView.showsVerticalScrollIndicator = NO;
    _scrollView.subviews.count == 0
    
  • cell 在reload(滑动)时会复用,而header和footer在reload时不会复用(使用UITableViewHeaderFooterView复用模式时,不知道是不是自己写错了);header和footer默认是透明的,显示tableView的背景效果。

  • 控制器view加载之后的autoResizingMask = 18(横向竖向随父控件的拉伸而拉伸)。

  • 继承关系:popoverPresentationController:presentationController,viewController的presentationController属性是懒加载形式,而popoverPresentationController需要先设置modalPresentationStyle = UIModalPresentationPopover(presentationController不能先被创建出来),两者一旦有一个被创建出来,另外一个都不会被创建(在popoverPresentationController被创建出来的情况下,两个指针指向同一个对象).

相关文章

  • iOS开发中的小细节(知识)

    在xib中加入手势识别器,会被当做一个对象,所以加载xib的时候注意返回相应的对象。 cocoa 命名遵循驼峰规律...

  • iOS开发 UITableView 常用细节

    iOS开发 UITableView 常用细节 iOS开发 UITableView 常用细节

  • iOS开发中的小知识

    记录日常开发中遇到的小问题和小技巧,后续持续更新中...... 1 在异步线程中发送通知,那么接收此通知也在异步线...

  • iOS开发中碰到的小细节小问题小知识整理

    整理一下自己在业务开发(日常搬砖)中遇到的问题和解决方法,个人学习笔记,都是些小细节供自己学习积累。持续更新 1....

  • iOS开发小细节

    1.http 网络连接 1.在Info.plist中添加 App Transport Security Sett...

  • iOS开发中的内存管理策略,和实践的知识,你都懂吗

    阅读底层库本篇文章介绍IOS开发,iOS开发中的内存管理策略,和实践的知识,你都懂吗,在给大家分享这个操作之前,小...

  • iOS开发细节知识总结

    1.开发中碰到self.navigationController?.pushViewController(sear...

  • ios开发碎记录

    ios开发碎知识点 前言. 整理好久的了,最近很少开发ios了,再不发估计ios就废了 ?ios日常开发中,有必要...

  • iOS开发中一角

    iOS开发_小知识点 1. 设置UITextField中占位符Placeholder文字颜色 注意: 设置了占位文...

  • iOS开发小记

    这篇文章主要内容是整理了部分iOS开发基础知识和收集了一些iOS开发中的小技巧。由于平时自己没有养成做笔记的习惯,...

网友评论

    本文标题:iOS开发中的小细节(知识)

    本文链接:https://www.haomeiwen.com/subject/iylzzttx.html