首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在iPhone中添加StatusBar上的视图

在iPhone中添加StatusBar上的视图
EN

Stack Overflow用户
提问于 2010-05-14 19:24:47
回答 4查看 25.1K关注 0票数 62

是否可以在尺寸为(320 X 20)的staus栏上添加UIView?我不想隐藏状态栏,我只想将它添加到状态栏的顶部。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-14 20:23:00

您可以通过在现有状态栏上创建自己的窗口来轻松完成此操作。

只需使用以下initWithFrame:覆盖创建一个简单的UIWindow子类

代码语言:javascript
复制
@interface ACStatusBarOverlayWindow : UIWindow {
}
@end

@implementation ACStatusBarOverlayWindow
- (id)initWithFrame:(CGRect)frame {
    if ((self = [super initWithFrame:frame])) {
        // Place the window on the correct level and position
        self.windowLevel = UIWindowLevelStatusBar+1.0f;
        self.frame = [[UIApplication sharedApplication] statusBarFrame];

        // Create an image view with an image to make it look like a status bar.
        UIImageView *backgroundImageView = [[UIImageView alloc] initWithFrame:self.frame];
        backgroundImageView.image = [UIImage imageNamed:@"statusBarBackground.png"];
        [self addSubview:backgroundImageView];
        [backgroundImageView release];

        // TODO: Insert subviews (labels, imageViews, etc...)
    }
    return self;
}
@end

例如,您现在可以在应用程序的视图控制器中创建新类的实例并使其可见。

代码语言:javascript
复制
overlayWindow = [[ACStatusBarOverlayWindow alloc] initWithFrame:CGRectZero];
overlayWindow.hidden = NO;

注意使用- (void)makeKeyAndVisible或类似工具处理Windows键状态。如果您将主窗口(应用程序代理中的UIWindow )设置为松动按键状态,则在点击状态栏等操作时会遇到滚动视图滚动到顶部的问题。

票数 87
EN

Stack Overflow用户

发布于 2010-12-11 07:51:59

我写了一个模拟Reeders状态栏覆盖的静态库,你可以在这里找到它:https://github.com/myell0w/MTStatusBarOverlay

它目前支持iPhone和iPad,默认和不透明的黑色状态栏样式,旋转,3种不同的信息模式,历史跟踪和许多更好的东西!

请随时使用它或发送给我一个拉动请求来增强它!

票数 58
EN

Stack Overflow用户

发布于 2010-05-14 19:58:49

只是为了消除“你不能这样做的评论”...

我不知道怎么做,但我知道这是可行的。名为Reeder的Feed阅读器应用程序可以做到这一点。

正如您从截图中看到的,Reeder在屏幕的右上角放置了一个小圆点。当你点击它的时候。该栏将填充整个状态栏,直到您再次点击它使其变小。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2833724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档