iPadアプリケーションのステータスバーからバッテリーと時計のアイコンを削除する必要があります。これどうやってするの?
3 に答える
いいえ、できません。完全なステータス バーのみを削除できます。
とにかく、時計とバッテリーを取り外したいのに、バーを離れたい理由がわかりません。
UIWindow
ステータスバーの外観をコピーした不透明なビューとしてレイアウトされたサブクラスを使用できます。それに応じてフレームを設定して、非表示にする必要があるステータス バーの部分のみをブロックすることができます。次に、windowLevel
プロパティを次のように設定しますUIWindowLevelStatusBar + 1.0f
。お役に立てれば!
編集
いくつかの基本的なサンプル コードを思いつきました。これは、概念実証としてのみ考慮してください。回転、さまざまなステータス バー スタイル (半透明は実際には不可能だと思います)、ステータス バー内の項目のさまざまなレイアウトなど、製品コードに値する試みには多くの考慮事項があります。
UIWindow
サブクラス:
@interface StatusBarMask : UIWindow
@end
@implementation StatusBarMask
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.windowLevel = UIWindowLevelStatusBar + 1.0f;
self.backgroundColor = [UIColor greenColor];
self.hidden = NO;
}
return self;
}
@end
そしてそれをインスタンス化するView Controller:
@interface ViewController ()
@property (nonatomic, strong) StatusBarMask *mask;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect appStatusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
appStatusBarFrame.size.width = 384.0f;
appStatusBarFrame.origin.x = 384.0f;
self.mask = [[StatusBarMask alloc] initWithFrame:appStatusBarFrame];
}
@end
これにより、ステータス バーの右側が明るい緑色の四角形でマスクされます。必要に応じて色とサイズを調整し、すべてのグラデーション、曲線エッジなどを考慮してください。さまざまなエッジ ケースを慎重に検討することで、目標を達成できるはずです。
次のコードで上部のステータスバーを非表示にできます
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];