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