iOS开发之自定义系统的UIActionSheet修改按钮的属性

iOS中UIActionSheet在SDK中只提供了少数几种样式,这些样式基本可以满足开发需求了,但是也会遇到比较麻烦的要求,这是就需要单独定制UIActionSheet,通过修改button的属性来实现修改,如果是ios4或者之前版本操作起来比较复杂,但是ios5以后,UIActionSheet中的button换成UIButton类型以后就比较容易了,可以直接便利UIActionSheet的所有subview,找到对应的button就可以修改它的属性,实现还是很简单的,需要注意的是UIActionSheet中button列表中的button索引id可以直接使用tag属性来直接获取,这就很方便找到它们了





参考代码;



- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {

if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.9) {

for (UIView *view in actionSheet.subviews) {

if (view.tag == 2) {

UIButton *button = (UIButton *) view;

//改变背景

[button setBackgroundImage:[button backgroundImageForState:UIControlStateHighlighted] forState:UIControlStateNormal];

//改变颜色

[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

//btn的选择状态,否则选择后不变背景

[button setSelected:YES];

} else {

}

}



} else {

//IOS4之前版本下按钮不是继承于UIButton而是UIThreePartButton

for (UIView *view in actionSheet.subviews) {

if (view.tag == 2) {

UIControl *btn = (UIControl *) view;

[btn setSelected:YES];

} else {

}

}

}

}


--------------------------------------------------------------------------------------
- 版权声明:
- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。
- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。
- 文章标题: iOS开发之自定义系统的UIActionSheet修改按钮的属性
- 独立博客: 李大仁博客
- 永久链接:http://www.lidaren.com/archives/815
--------------------------------------------------------------------------------------
以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。

你可能感兴趣的:(iOS)