Ios8 更改UIActionSheet按钮背景色和按钮字体

Ios8 更改UIActionSheet按钮背景色和按钮字体,ios8,uiactionsheet,uialertcontroller,Ios8,Uiactionsheet,Uialertcontroller,我的申请表上有一张UIActionSheet。我想更改actionsheet按钮的背景色和按钮的字体。我搜索了以下代码: for (UIView *_currentView in actionSheet.subviews) { if ([_currentView isKindOfClass:[UIButton class]]) { //DO YOUR WORK }

我的申请表上有一张UIActionSheet。我想更改actionsheet按钮的背景色和按钮的字体。我搜索了以下代码:

for (UIView *_currentView in actionSheet.subviews)
        {
            if ([_currentView isKindOfClass:[UIButton class]])
            {
               //DO YOUR WORK
            }
        }
但这段代码在ios 8上不起作用。对于ios,我也发现了以下代码:

 [[UIView appearanceWhenContainedIn:[UIAlertController class], nil] setTintColor:[UIColor redColor]];
但此代码仅更改按钮的字体颜色


还有什么方法可以改变按钮的背景色吗?

基本上,你想做的事情是你不应该做的,也不应该做的。UIActionSheet和UIAlertController提供了标准视图,只有很少的变体和完全标准的外观。你不应该试图搞砸这件事


然而,不要放弃希望!没有什么能阻止你设计你自己的观点,不管你想要什么。在iOS 8(和iOS 7)上,这是非常容易的,因为您可以制作一个显示的视图控制器,它的视图会滑到屏幕上,并且只覆盖部分,就像一张警告单一样。因此,请继续创建您自己的非标准按钮栏,而不是试图修改苹果的标准。

对我有效的是:

UICollectionViewCell.appearance().backgroundColor = UIColor.whiteColor() // or any other color you want

请注意,当在popover或iPhone上显示时,这会影响背景。如果您在应用程序的其他位置使用
UICollectionView
s,请手动将背景色设置为覆盖。

请您详细说明如何执行此操作:“制作一个显示的视图控制器,其视图会滑到屏幕上并仅部分覆盖,就像一张警告单一样。”在iOS 8中,此操作特别简单,因为在执行显示视图控制器时,可以指定视图的最终大小/位置、显示和消失的动画以及是否应在其后面显示任何“暗显”视图。我在这里演示:这是一个自定义警报视图,而不是一个操作表,但是将示例修改为类似于操作表将非常简单。