美文网首页
【极客班】iOS(2-4节)听课笔记

【极客班】iOS(2-4节)听课笔记

作者: 护林员 | 来源:发表于2016-04-11 08:56 被阅读0次

    本周的授课内容主要是页面的布局,其中比较重要的是Autolayout 一节

    【界面布局 - View的定位】

    iOS界面初解

    UIview 表示屏幕上一块矩形区域;负责提供相应区域的显示内容;也处理相应区域的事件响应。 iOS界面由一个树状的UIView层次结构组成

    UIKit的坐标系

    按照用户习惯,坐标原点设在了左上的位置

    描述点:

    CGPointMake(x,y)

    CGPointEqualToPoint(p1,p2)

    描述尺寸:

    CGSizeMake(w,h)   //width,height

    CGSizeEqualToSize (sz1,sz2)

    描述形状(矩形)

    CGRectMake(o,s)  //oringin,sizie

    CGRectEqualToRect(r1,r2)

    CGRextInset(r,dx,dy)  //矩形缩放

    frame(框)

    可以用 view.frame:CGRect 把view里的rect取出来,并可进行修改,更改调入的Rect,但是应当替换新的Rect而不是直接修改属性数值,否则会报错。

    bounds(边界)

    上级视图提供放置子视图的区域

    (注意绝对坐标和相对坐标的区别)

    bounds.origin 的作用

    view 定位 - Center

    视图的中心点

    view.frame.origin = center - size/2

    图形的变化(缩放)都是以center为中心进行

    【Autoresizing】

    设置界面

    相较于Autolayout的优势

    更方便(尤其是处理一些简单的代码时)

    在interface里构造的Nib(stroyboard和Xib),由他们实例化出来的界面对象默认都会开着Autoresizing。(另:UIView. autoresizesSubviews默认为YES,可以设为NO关闭)

    【Autolayout】

    基础知识:

    ->用约束条件(constraint)描述View定位属性之间的关系

    ->Autoresizing只能描述上下级视图之间的关系

    ->Autolaout支持更多样的视图关系和定位属性

    Autolaout 是一种Opt-in技术

    ->可以非常灵活的开关

    ->nib 有 “Use Auto Layout”选项

    ->可以用代码添加constraint,从而在涉及的view上启用Autolayout

    ->UIView子类自己决定

    - requiresConstraintBasedLayout返回YES

    几处有用的Autolayout操作处

    相关文章

      网友评论

          本文标题:【极客班】iOS(2-4节)听课笔记

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