我的应用程序中有一个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]];
但此代码仅更改按钮的字体颜色。
有没有办法更改按钮的背景颜色?
答案 0 :(得分:2)
基本上你要做的事情是你不应该做的事情,而且应该永远不会做。 UIActionSheet和UIAlertController提供标准视图,具有极少数变体和完全标准的外观。你不应该试图搞砸它。
但是,不要放弃希望!没有什么可以阻止你设计你想要的自己的视图。在iOS 8(和iOS 7)上,这非常简单,因为您可以制作一个呈现的视图控制器,其视图滑动到屏幕上并仅部分覆盖它,就像警报表一样。因此,请继续创建您自己的非标准按钮列,而不是尝试修改Apple的标准。
答案 1 :(得分:0)
对我有用的是:
UICollectionViewCell.appearance().backgroundColor = UIColor.whiteColor() // or any other color you want
请注意,这会在弹出窗口或iPhone上显示时影响背景。如果您在应用中的其他地方使用UICollectionView
s,请手动设置背景颜色以覆盖。