UIActionSheet是常用的控件之一,但往往需要再原来的基础上修改一些小细节,这里主要讲解怎么在iOS7以下和以上的处理方法。
-(void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
SEL selector = NSSelectorFromString(@"_alertController");
if ([actionSheet respondsToSelector:selector])//ios8 以后采用UIAlertController来代替uiactionsheet和UIAlertView
{
UIAlertController *alertController = [actionSheet valueForKey:@"_alertController"];
if ([alertController isKindOfClass:[UIAlertController class]])
{
alertController.view.tintColor = [UIColor blackColor];
}
}
else//ios7 之前采用这样的方式
{
for( UIView * subView in actionSheet.subviews )
{
if( [subView isKindOfClass:[UIButton class]] )
{
UIButton * btn = (UIButton*)subView;
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
}
}
}
}
本文介绍如何在iOS中自定义UIActionSheet的样式,包括针对iOS 7及以下版本和iOS 8及以上版本的不同处理方法。对于iOS 8及更高版本,可以通过UIAlertController进行定制;而对于iOS 7及更低版本,则需要遍历UIActionSheet的子视图来实现。
2576

被折叠的 条评论
为什么被折叠?



