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

时间:2015-05-17 13:34:26

标签: ios8 uiactionsheet uialertcontroller

我的应用程序中有一个UIActionSheet。我想更改操作表按钮的背景颜色和按钮的字体。我在下面的代码中找到了一个搜索:

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]];

但此代码仅更改按钮的字体颜色。

有没有办法更改按钮的背景颜色?

2 个答案:

答案 0 :(得分:2)

基本上你要做的事情是你不应该做的事情,而且应该永远不会做。 UIActionSheet和U​​IAlertController提供标准视图,具有极少数变体和完全标准的外观。你不应该试图搞砸它。

但是,不要放弃希望!没有什么可以阻止你设计你想要的自己的视图。在iOS 8(和iOS 7)上,这非常简单,因为您可以制作一个呈现的视图控制器,其视图滑动到屏幕上并仅部分覆盖它,就像警报表一样。因此,请继续创建您自己的非标准按钮列,而不是尝试修改Apple的标准。

答案 1 :(得分:0)

对我有用的是:

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

请注意,这会在弹出窗口或iPhone上显示时影响背景。如果您在应用中的其他地方使用UICollectionView s,请手动设置背景颜色以覆盖。