美文网首页
CS193笔记 第四讲 视图

CS193笔记 第四讲 视图

作者: 默默熊 | 来源:发表于2017-03-10 09:41 被阅读21次

    本讲简介:介绍了UI中的最基本的元素 -- 视图。并通过一个演示进行了详细的讲解。

    视图(UIView)

    做为最基本的UI元素,它有两种初始化方式

    1,init(frame: CGRect)    // UIView 由手工建立

    2,init(coder: NSCoder)    //View是在storyboard里创建

    awakeFromNib()   //参考第六讲中视图控制器的生命周期部分

    UIViewControler有一个根视图

    removeFromSuperView()方法是作用在subView上的

    Autolayout  vs  手工编写代码

    尽量使用Autolayout,控件较多的时候要分组。手工编写代码也可以先使用autolayout调整效果。

    像素(pixels) vs 点(points)

    最初像素和点是一一对应的。从retina屏幕开始一个点可以对应2x2或3x3(plus设备)个像素了。 所以准备资源的时候需要准备不同分辨率的素材。这些资源通过名字中加@2x或 @3x来区分

    contentScaleFactor : CGFloat of UIView

    Bounds vs Frame

    Bounds 代表了view的绘制区域。Bounds的原点在左上,然后向右和向下增大。单位是点,不是像素。Bounds应用的是自己的坐标系统。

    Draw 里面不要使用 Frame和 Center 属性(只用于定位)。View的旋转可能会引起Frame的变化。而Bounds不会改变。

    本讲的演示。可以从 “https://github.com/mayongl/CS193P” 下载本讲的代码。这里只谈三个小点

    1,在 storyboard 里面看 ViewController 是有一个 View 的。如果不在上面新建 view,直接把它的类改成 FaceView 效果也是一样的。但 @IBDesignable 就不工作了。

    2,这个演示里,使用了 “reset to suggested constraints" 进行自动布局。然后会自动生成4个constraints,要浏览它们,并适当编辑。对contraints中的值要尽量使用 standard 或 0。

    3,CGRect的功能和属性有很多,值得读一下文档和定义。

    本讲笔记写的有些简单。欢迎留言提问。谢谢。

    相关文章

      网友评论

          本文标题:CS193笔记 第四讲 视图

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