2016-02-10 5 views
0

Я пытаюсь, чтобы UIStatusBar исчезал во время перехода и снова исчезал при завершении. (Это чисто стилистический - у меня есть переход, который исходит из вершины и для меня, по крайней мере, переход под UIStatusBar вызывает сотрясение)UIStatusBar Анимация перехода - изменение только альфа

Есть ли способ не удалить UIStatusBar, а просто сделать весь view.layer .alpha = 0.0?

iOS9.2 & Swift2

ответ

1

не думаю, что его можно Apple, кажется, делает толчок для просмотра на основе управления строки состояния контроллера и обесценивая все апи вручную изменить состояние строки состояния. Я действительно надеюсь, что в следующем WWDC им будут представлены замены для них. Я сталкиваюсь с той же проблемой в своем приложении из-за пользовательских переходов, которые должны изменить цвет/стиль строки состояния.

@property(nonatomic,getter=isProximitySensingEnabled) BOOL proximitySensingEnabled NS_DEPRECATED_IOS(2_0, 3_0) __TVOS_PROHIBITED; // default is NO. see UIDevice for replacement 
- (void)setStatusBarHidden:(BOOL)hidden animated:(BOOL)animated NS_DEPRECATED_IOS(2_0, 3_2) __TVOS_PROHIBITED; // use -setStatusBarHidden:withAnimation: 

// Explicit setting of the status bar orientation is more limited in iOS 6.0 and later. 
@property(readwrite, nonatomic) UIInterfaceOrientation statusBarOrientation NS_DEPRECATED_IOS(2_0, 9_0, "Explicit setting of the status bar orientation is more limited in iOS 6.0 and later") __TVOS_PROHIBITED; 
- (void)setStatusBarOrientation:(UIInterfaceOrientation)interfaceOrientation animated:(BOOL)animated NS_DEPRECATED_IOS(2_0, 9_0, "Explicit setting of the status bar orientation is more limited in iOS 6.0 and later") __TVOS_PROHIBITED; 

// Setting the statusBarStyle does nothing if your application is using the default UIViewController-based status bar system. 
@property(readwrite, nonatomic) UIStatusBarStyle statusBarStyle NS_DEPRECATED_IOS(2_0, 9_0, "Use -[UIViewController preferredStatusBarStyle]") __TVOS_PROHIBITED; 
- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated NS_DEPRECATED_IOS(2_0, 9_0, "Use -[UIViewController preferredStatusBarStyle]") __TVOS_PROHIBITED; 

// Setting statusBarHidden does nothing if your application is using the default UIViewController-based status bar system. 
@property(readwrite, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden NS_DEPRECATED_IOS(2_0, 9_0, "Use -[UIViewController prefersStatusBarHidden]") __TVOS_PROHIBITED; 
- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation NS_DEPRECATED_IOS(3_2, 9_0, "Use -[UIViewController prefersStatusBarHidden]") __TVOS_PROHIBITED; 

- (BOOL)setKeepAliveTimeout:(NSTimeInterval)timeout handler:(void(^ __nullable)(void))keepAliveHandler NS_DEPRECATED_IOS(4_0, 9_0, "Please use UIRemoteNotificationTypeVoIP remote notifications for VoIP applications") __TVOS_PROHIBITED; 
- (void)clearKeepAliveTimeout NS_DEPRECATED_IOS(4_0, 9_0, "Please use UIRemoteNotificationTypeVoIP remote notifications for VoIP applications") __TVOS_PROHIBITED; 
+0

Я думаю, что сделаю это ответом. Быстрый вопрос: view.animatewithduration, вы можете скрыть строку состояния с анимацией, используя self.setNeedsStatusBarAppearanceUpdate и переменную, чтобы установить false в true. Я нашел запуск, который сам по себе работает, но если вы попытаетесь связать второй блок, он сразу же не сработает первым. Есть ли простой способ предотвратить это, кроме того, что я собираюсь сделать, что добавление невидимого представления для манипулирования? – solenoid

Смежные вопросы