iOS中UIActionSheet在SDK中只提供了少数几种样式,这些样式基本可以满足开发需求了,但是也会遇到比较麻烦的要求,这是就需要单独定制UIActionSheet,通过修改button的属性来实现修改,如果是ios4或者之前版本操作起来比较复杂,但是ios5以后,UIActionSheet中的button换成UIButton类型以后就比较容易了,可以直接便利UIActionSheet的所有subview,找到对应的button就可以修改它的属性,实现还是很简单的,需要注意的是UIActionSheet中button列表中的button索引id可以直接使用tag属性来直接获取,这就很方便找到它们了
参考代码;
--------------------------------------------------------------------------------------
- 版权声明:
- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。
- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。
- 文章标题: iOS开发之自定义系统的UIActionSheet修改按钮的属性
- 独立博客: 李大仁博客
- 永久链接:http://www.lidaren.com/archives/815
--------------------------------------------------------------------------------------
以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
参考代码;
- (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
--------------------------------------------------------------------------------------
以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。