iphone开发之自定义UIControl对象的视图 UISwitch的字体和颜色

  1. 云栖社区>
  2. 博客>
  3. 正文

iphone开发之自定义UIControl对象的视图 UISwitch的字体和颜色

余二五 2017-11-15 12:59:00 浏览818
展开阅读全文

函数的代码来至iphone开发秘籍,Thanks Erica Sadun。

UISwitch类:

 

 

UISwitch类的单薄到我不知道该说什么了。不过,UIControl对象通常是由一系列的子视图构建的。通过导航控件的视图,可以公开的定制通常不能从标准SDK中访问的对象。这种定制依赖于对控件子视图树的理解,通过下面这样的函数可以递归遍历视图树,就可以了解每一个视图了。

- (void)explode:(id)aView level:(int)aLevel {

         

                   

         

        

         

                   

}

初始化级别为0,打出来的结果是:

UISwitch:UIControl

-_UISwitchSlider:UISlider

--UIImageView:UIView

--UIImageView:UIView

--UIView:UIResponder

---UILabel:UIView

---UILabel:UIView

--UIImageView:UIView

 

然后就可以开始封装自定义UISwitch字体和字体颜色的定制功能

@interface UISwitch (extended)

- (void) setAlternateColors:(BOOL) boolean;//这是文档未记录的特性,显示为橘黄色的背景。

@end

 

@interface _UISwitchSlider : UIView

@end

 

@interface UICustomSwitch : UISwitch

- (void) setLeftLabelText: (NSString *) labelText;

- (void) setRightLabelText: (NSString *) labelText;

@end

 

@implementation UICustomSwitch

- (_UISwitchSlider *) slider {

         

}

- (UIView *) textHolder {

         

}

- (UILabel *) leftLabel {

         

}

- (UILabel *) rightLabel {

         

}

- (void) setLeftLabelText: (NSString *) labelText {

         

}

- (void) setRightLabelText: (NSString *) labelText {

         

}

@end

下面是测试代码:

- (void)loadView

{

         

         

        

         

         

         

         

 

         

         

         

         

         

        

         

         

         

         

         

         

        

         

         

         

         

         

         

         

         

         

        

         

}

这样子定制后的结果老强大了(图1)。

                     

 1                                                                                             2

最后,悲催的事情还是发生了,我们选择了使用资源给出的两张图(图2),结果是我们放弃了那个平滑切换的动画把它做成了一个按钮,点一下换一张图片,记住一个状态。










本文转自 arthurchen 51CTO博客,原文链接:http://blog.51cto.com/arthurchen/577935,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
余二五
+ 关注