如何在iOS 9中通过动画隐藏系统状态栏并在状态栏中显示警报几秒钟

时间:2016-10-21 10:40:45

标签: ios objective-c statusbar

我希望在状态栏中显示警报,持续时间为动画,并在此期间隐藏系统状态栏

我已经提到this但是能够隐藏系统的特定时间的状态栏,无法添加动画

这是我的代码

NSString *status=@"welcome..";
UIView *notificationView= [JDStatusBarNotification showWithStatus:(NSString *)status  styleName:JDStatusBarStyleDark];
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
notificationView.frame=statusBarFrame;
[self.view addSubview:notificationView];
UIView *dismissNotificationView=[JDStatusBarNotification showWithStatus:(NSString *)status
dismissAfter:(NSTimeInterval)5.0f styleName:JDStatusBarStyleDark];
[self.view addSubview:dismissNotificationView];  `

也尝试了this,但它会移动另一个窗口然后显示并返回

这是使用的代码

 MTStatusBarOverlay *overlay = [MTStatusBarOverlay sharedInstance];
overlay.animation = MTStatusBarOverlayAnimationFallDown;  // MTStatusBarOverlayAnimationShrink
overlay.detailViewMode = MTDetailViewModeHistory;         // enable automatic history-tracking and show in detail-view
overlay.delegate = self;
overlay.progress = 0.0;
[overlay postImmediateFinishMessage:@"welcome" duration:2.0 animated:YES];
overlay.progress = 1.0;

请提前帮助..谢谢

2 个答案:

答案 0 :(得分:0)

我不确定您何时希望显示警报,因此我将在加载视图后假设。我没有使用这两个框架,但是使用通用的红色UIView进行了测试,它使用了下面的代码:

public class DataFetcher {

    public DatStore dataStore = new DataStore(mContext, "DATA");

    private DataFetcher() {
    }

    private static class SingletonHelper {
        private static final DataFetcher INSTANCE = new DataFetcher();
    }

    public static DataFetcher getInstance(Context context) {
        mContext = context;
        return SingletonHelper.INSTANCE;
    }

    // Rest of the code skipped
}

我希望这会有所帮助,让我知道它是否仍然不起作用,或者如果我错过理解的东西:)

答案 1 :(得分:0)

尝试使用我的代码完成隐藏状态栏:

 -(BOOL)prefersStatusBarHidden{
           return YES;
    }