当点击并按住操作表或菜单控制器显示但文本为白色时,可能导致此问题?
答案 0 :(得分:2)
检查可能导致问题的任何覆盖。
在IOS7
委托- willPresentActionSheet:
中查找类似的内容以更改颜色..
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
for (UIView *subview in actionSheet.subviews) {
if ([subview isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)subview;
[button setTitleColor: [UIColor whiteColor] forState:UIControlStateNormal];
}
}
}
在iOS8中,我认为它是这样的:
UIAlertController *alertController = [actionSheet valueForKey:@"_alertController"];
if ([alertController isKindOfClass:[UIAlertController class]])
{
alertController.view.tintColor = [UIColor whiteColor];
}
修改强>
我正在搜索和测试它可能是..
在- (BOOL)application:didFinishLaunchingWithOptions
下尝试查看..
答案 1 :(得分:2)
您需要为IOS 8的UIAlertController类设置以下外观。
[[UIView appearanceWhenContainedIn:[UIAlertController class], nil] setTintColor:[UIColor redColor]];
IOS7 +的另一种解决方案
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
for (UIView *subview in actionSheet.subviews) {
if ([subview isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)subview;
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
}
}
}
这有助于解决您的问题。
答案 2 :(得分:0)
在这种情况下它是
self.window.tintColor = [UIColor whiteColor];
在AppDelegate中。
虽然我确信在其他情况下它可以在UIAlertController或UIActionSheet上。 0yeoj回答检查UIAlertController上的色调引导我朝着正确的方向前进。