当前位置: 首页 > 知识库问答 >
问题:

是否可以将状态栏文本(前景)颜色更改为任意颜色(即不是黑色或白色)?[副本]

淳于熙云
2023-03-14
`UIStatusBarStyleLightContent`; or `UIStatusBarStyleBlackOpaque`; or whatever. 

共有1个答案

卜和悌
2023-03-14

没有文档说明的方法可以将文本颜色更改为橙色。然而,这是绝对可能的,因为我刚刚试过它,它起作用了。

免责声明:这都是无证领土...当你把它提交到app Store时,它很可能不会被批准。不过,你可能是幸运的...

在iOS 7中,您可以执行以下操作:

/// sets the status bar text color. returns YES on success.
/// currently, this only
/// works in iOS 7. It uses undocumented, inofficial APIs.
BOOL setStatusBarColor(UIColor *color)
{
    id statusBarWindow = [[UIApplication sharedApplication] valueForKey:@"statusBarWindow"];
    id statusBar = [statusBarWindow valueForKey:@"statusBar"];

    SEL setForegroundColor_sel = NSSelectorFromString(@"setForegroundColor:");
    if([statusBar respondsToSelector:setForegroundColor_sel]) {
        // iOS 7+
        [statusBar performSelector:setForegroundColor_sel withObject:color];
        return YES;
    } else {
        return NO;
    }
}
 类似资料: