UITextView操作表

时间:2015-06-16 14:10:41

标签: ios uitextview

当点击并按住操作表或菜单控制器显示但文本为白色时,可能导致此问题?

screenshot

3 个答案:

答案 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];
}

修改

我正在搜索和测试它可能是..

enter image description here

- (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上的色调引导我朝着正确的方向前进。