Bir*_*chi 62 iphone uikit uiapplication
是否可以在尺寸为(320 x 20)的staus条上添加UIView?我不想隐藏状态栏,我只想将其添加到状态栏的顶部.
all*_*eus 87
您可以通过在现有状态栏上方创建自己的窗口来轻松完成此操作.
只需UIWindow
使用以下覆盖创建一个简单的子类initWithFrame:
@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
Run Code Online (Sandbox Code Playgroud)
现在,您可以在应用程序的视图控制器中创建新类的实例并使其可见.
overlayWindow = [[ACStatusBarOverlayWindow alloc] initWithFrame:CGRectZero];
overlayWindow.hidden = NO;
Run Code Online (Sandbox Code Playgroud)
请注意使用- (void)makeKeyAndVisible
或类似的方法弄乱窗口键状态.如果使主窗口(UIWindow
应用程序代理中)松开键状态,则在点击状态栏等时将滚动浏览器滚动到顶部会遇到问题.
mye*_*l0w 58
我写了一个模拟Reeders状态栏覆盖的静态库,你可以在这里找到它:https://github.com/myell0w/MTStatusBarOverlay
它目前支持iPhone和iPad,默认和不透明的黑色状态栏样式,旋转,3种不同的任何模式,历史跟踪和更多的好东西!
随意使用它或发送一个Pull请求来增强它!
归档时间: |
|
查看次数: |
24414 次 |
最近记录: |