3.引入MVC设计模式,九宫格算法、字典转模型、自定义 view、xib

  1. 代码创建的控件比较灵活,

拖拽的控件不可改变麻烦。

 

  1. Cgfloatdouble类型的

 

  1. 创建控件步骤

1.实例化

2.设置属性优先frame

3.添加到对应的控件中

 

  1. Iphone 6s 尺寸   375 * 667
  2. CGRectGetMaxY

CGRectGetMinY

CGRectGetMidY

  1. 懒加载节省内存 只加载一次
  2. UIImageView中填充方式

UIViewContentMode

  1. 居中设置alignment

NSTextAlignmentCenter居中

  1. UIButton

本质包含UILabel UIImageView

  1. 控件透明度用alpha

Label.alpha = 0;

  1. 释放控件

[label removeFromSuperview];

  1. 字典转模型

解决字典中名字易错但不报错问题和防止plisht文件修改一次性修改过多的数据

  1. Control +command +上下切换文件
  2. 计算机生成了可选文字:0% 1.3 MB zero KB's Zero ..hread (serial) 36 37 38 39 40 41 42 43 47 48 50 51 52 54 nit I ; (NSArray arrayWithObj p3, NSArray *pArray NSMutableArray *array tNSMutableArray array) ; for (Person in pArray) (array addObject:p. name) ; NSLog , a rray) ; NSArray *nameArray (pArray valueForKeyPath nameArray) ; name Text Indent

作用相当

Kvc valueforkeyPath的作用是取更加深层的东西

计算机生成了可选文字:0% 1.2 MB Zero Zero zero ..hread (serial) 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 D #import "Person. h" int main(xnt argc, const char * argv(l) eautoreleasepool //KVC I (Person alloclinit) ; Person pl. name @'zhangsan"; pl. age 18; //*EkvcfiRff, (pl setValue:@'18" ; NSString *name pl. name; int age pl. age; NSString *name int agel Thread I:

 

正常赋值方式

 

  1. 字典转模型

- (instancetype)initWithDict:(NSDictionary *)dict{

  self = [superinit];

  if (self){

      self.name = dict[@"name"];

      self.icon = dict[@"icon"];

   }

   return self;

}

 

+ (instancetype)appWithDict:(NSDictionary*)dict{

  return [[selfalloc]initWithDict:dict];

}

 

+ (NSArray *)appArray{

   

       NSArray *array = [ NSArray arrayWithContentsOfFile:[[NSBundlemainBundle] pathForResource:@"app.plist"ofType:nil] ];

       NSMutableArray *marray = [NSMutableArrayarray];

      for (NSDictionary *dictinarray) {

          CZApp*app = [CZAppappWithDict:dict];

           [marrayaddObject:app];

       }

       array = marray;

  return array;

}

 

  1. 动画嵌套

    [UIViewanimateWithDuration:1animations:^{

       label.alpha =0.8;

   }completion:^(BOOL finished) {

      if (finished == YES) {

            [UIViewanimateWithDuration:1animations:^{

               label.alpha=0;

           }completion:^(BOOL finished) {

              if(finished == YES) {

                   [labelremoveFromSuperview];

               }

           }];

       }

   }];

  1. xib的加载

self = [[[NSBundlemainBundle] loadNibNamed:@"CZAppView"owner:nil options:nil] lastObject];

  1.   Btn inset 设置内边距  白色框由此而来

 Edge 可以单独设置 文字 image 来调整 默认为文字image一起

  1. #pragema mark --  是不设置一条间隔县

#pragema mark - 设置间隔线

  1. UIButton  alpha 设置为0 之后就不会响应点击  不可见

设置hidden YES 就不会被点击 不可见

User interaction enabled 去掉选择 不会响应 但是可见  去掉父类的 子类也不会响应。

  1.  

    CZQuestionDate *question = self.questionsArray[self.index];

   NSArray *array = [question.options sortedArrayUsingComparator:^NSComparisonResult(NSString *obj1, NSString *obj2) {

        int z = arc4random_uniform(2);

       if (z) {

           return[obj1 compare:obj2];

       } else {

           return[obj2 compare:obj1];

       }

   }];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值