Objective-C中的一些细枝末节01(更新)
博客专区 > Marginx 的博客 > 博客详情
Objective-C中的一些细枝末节01(更新)
Marginx 发表于2年前
Objective-C中的一些细枝末节01(更新)
  • 发表于 2年前
  • 阅读 44
  • 收藏 1
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

  1. 能给CGRect发消息么? 答案是不能,只能给Objective-C对象发消息,CGRect是结构体,所以不行!明确几个概念

    receiver(消息接收方):指针,指向执行方法的对象

    selector(选择器)      :需要执行方法的方法名

    arguments(实参)     :以变量形式传给方法的数值

    [self.view setBackgroundColor:RED ];

  2. point和pixels的概念:我们开发中所用到的数值的宽高单位是点,点的大小与设备分辨率相关,取决于屏幕以多少个像素显示一个点。Retina屏幕(这里以4s为例)一个点是两个像素高,两个像素宽。非Retina一个点是一个像素宽,一个像素高。

    【用iPhone4S和iPhone3gs对比,红色表示4s,蓝色表示3gs】

    屏幕尺寸         : 3.5英寸    3.5英寸

    分辨率           :640*960     320*480    是指显示器所能显示的像素有多少)

    像素密度        :326ppi       163ppi   (每英寸像素点的个数)

    物理像素点个数:320*480   320*480

    逻辑像素与物理像素换算1pt = 2px    1pt = 1px      

  3. 举一个避免引用循环的例子。每个UIView对象都有一个superView属性,将一个视图作为子视图加入另外一个视图时候,会创建一个相应的反向关联,而这个superview属性是弱应用!

  4. 运行循环 (run loop):iOS应用启东时会开始一个运行循环,运行循环的工作是监听事件,例如触摸,当事件发生时,运行循环会为相应的时间找到合适的处理方法。只有当方法执行完毕时,控制权才会再次回到运行循环。当应用将控制权交回到运行循环时,运行循环首先会检查有没有等待重绘的视图(即在当前循环收到过的setNeedDisplay消息的视图)。

  5. 视图重绘

  6. UIScrollerView对象可以用来管理视图,适用于那些尺寸大于屏幕的视图,这里面有一个重要的属性:contentSize,告诉UIScrollerView“取景”范围。

    contentSize高度设置为屏幕高度,宽度设置为屏幕的一半和二倍,分别会出现什么情况。。。

  7. 视图控制器初始化的两种方法:代码+nib

  8. loadView方法在什么时候调用?(视图控制器需要加载view && view为nil时,默认loadview方法会自动处理NIB文件中包含的视图层次结构)

    这里面包含什么机制?(lazy loading)



  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 4
博文 18
码字总数 21236
×
Marginx
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: