1、定义系统私有属性时,无法赋值,可以采用KVC的方式直接个成员变量赋值。例如我们想自定义一个tabBar,系统的tabBar属性是只读的不可直接修改
我们无法直接使用self.tabBar,这是我们可以用KVC的方式:
[self setValue:[ZRTabBar alloc]init forKeyPath:@"tabBar"]
直接将我们自定义的tabBar赋值给成员变量。2、在我们给自己定制的控件布局的时候,一定要在
- (void)layoutSubviews{ [super layoutSubviews]; }
中布局才有效。3、当我们定制的控件具有同种相同属性时,并且设置这个属性的方法说明中带有appearance这个词时,可以直接获取到appearance这个属性,然后统一设置。例如tabBarItem: