1

iPadアプリケーションのステータスバーからバッテリーと時計のアイコンを削除する必要があります。これどうやってするの?

4

3 に答える 3

2

いいえ、できません。完全なステータス バーのみを削除できます。

とにかく、時計とバッテリーを取り外したいのに、バーを離れたい理由がわかりません。

于 2012-10-04T21:43:49.217 に答える
1

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

これにより、ステータス バーの右側が明るい緑色の四角形でマスクされます。必要に応じて色とサイズを調整し、すべてのグラデーション、曲線エッジなどを考慮してください。さまざまなエッジ ケースを慎重に検討することで、目標を達成できるはずです。

于 2012-10-04T22:18:36.623 に答える
0

次のコードで上部のステータスバーを非表示にできます

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
于 2012-10-04T21:44:54.500 に答える