UI基础控件入门3

  • 设置图标和启动屏?

    1. 将图片资源放在Images.xcassets,Images.xcassets只有iOS7+支持,iOS6前不支持,Images.xcassets中的图片编译后被打包进Assets.car这个文件;
    2. 如果程序部署的时候设置为6.0,图片还是会放在bundle的根文件下;
    3. 设置某个程序的图标,在Images.xcassets中的AppIcon设置。
    4. 设置某个程序的启动图片有两种方式,一种是修改LaunchScreen.xib,另一种,设置Launch Images Source为LaunchScreen,清空Launch Screen File,在Images.xcassets中的LaunchImage设置启动图片。
  • 常用方法?

@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // 设置某个控件是否可以和用户交互
- (void)bringSubviewToFront:(UIView *)view; // 将某个子控件拿到最前面
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay; // 延迟调用某个方法
- (void)makeObjectsPerformSelector:(SEL)aSelector; // 让数组中的每个对象都调用aSelector这个方法
  • KVC?

    1. KVC的全称:Key Value Coding;
    2. KVC把字典中的值,赋值当前对象指定的属性的两种方式;
    3. 遍历字典中所有的key,并把和对象属性对应的key赋值;
    4. KVC设置值及KVC取值。
// KVC把字典中的值,赋值当前对象指定的属性的两种方式
self.answer = dict[@"answer"]; // 第一种
self.icon = dict[@"icon"];
self.title = dict[@"title"];
self.options = dict[@"options"];
[self setValue:dict[@"answer"] forKeyPath:@"answer"]; // 第二种

// 遍历字典中所有的key,并把和对象属性对应的key赋值
[self setValuesForKeysWithDictionary:dict];

LNPerson *person = [[LNPerson alloc] init];
// kvc设置值
[person setValue:@"zs" forKeyPath:@"name"];
[person setValue:@18 forKeyPath:@"age"];
// kvc取值
[person valueForKeyPath:@"name"];
[[person valueForKeyPath:@"age"] intValue];

NSDictionary *dict = [person dictionaryWithValuesForKeys:@[@"name",@"age"]];
LNPerson *p1 = [[LNPerson alloc] init];
p1.name = @"zs";
p1.age = 18;
LNPerson *p2 = [[LNPerson alloc] init];
p2.name = @"ls";
p2.age = 19;
LNPerson *p3 = [[LNPerson alloc] init];
p3.name = @"ww";
p3.age = 16;
NSArray *persons = @[p1,p2,p3];
// 取出数组中所有人的名字
// 方法1循环 取出
// 方法2
NSArray *names = [persons valueForKeyPath:@"name"];

你可能感兴趣的:(UI基础控件入门3)