zoukankan      html  css  js  c++  java
  • iOS开发总结(A0) - 自定义UIView

    可以用以下方法构建custom uiview 的内容

    1)draw

    2)build in xib

    3)add subviews

    在custom UIView 的m文件中,一般按照以下对uiview进行初始设置:

     1 -(void)awakeFromNib{
     2     [self setup];
     3 }
     4 -(void)setup{
     5 //set up view  
     6 }
     7 -(instancetype)initWithFrame:(CGRect)frame{
     8     self=[super initWithFrame:frame];
     9     if (self) {
    10         [self setup];
    11     }
    12     return self;
    13 }

    setup 中一般要做的事情有:

    - setBackgroundColor:

    - setContentMode:

    - setOpaque: (尽量设置为 yes)

    - setTranslatesAutoresizingMaskIntoConstraints: (如果使用autolayout,设置为no,否则可能constraint可能会冲突)

     等

    以下说明这三种方式的基本做法

    一、draw

    重写

    -(void)drawRect:(CGRect)rect{}

    在该方法中画UIView 的内容。

    -可以用UIBezierPath画;

    - 可以用CGContext 各种画图函数;

    - 可以用uikit中各种控件自带的draw方法画

    (如UIImage 的drawInRect:, NSAttributedString的drawInRect:)

      

    二、load from nib

    1)新建view nib 文件,在ib中拖拽添加view的内容(注意view 的class 为custom view 的class),并可设置constraint

    2)可用以下语句直接创建view

    [[[NSBundle mainBundle]loadNibNamed:@"xib file name "
                                      owner:nil
                                    options:nil] lastObject];

    好处(前提是熟悉ib):

    1.方便快速的添加内容、设置iboutlet 和ibaction、添加gesture等

    2.便于 localization

    3.便于设置constraint

    三、add subviews

    这种方法比较直接,代码中新建UIView并增加 

  • 相关阅读:
    第二次作业
    第一次作业
    第五次作业
    第四次作业
    第三次作业
    第二次作业
    第一次作业
    HTML标签分类
    HTML属性与事件的搭配使用
    HTML全局属性和全局事件属性
  • 原文地址:https://www.cnblogs.com/beddup/p/4613853.html
Copyright © 2011-2022 走看看