У меня есть подкласс UIViewController
, который, когда я запускаю приложение на iOS 7, строка состояния отображается поверх моего представления. Есть ли способ избежать этого? Я не хочу, чтобы строка состояния была скрыта. Есть ли способ показать строку состояния над моим приложением. Я представляю свое мнение, используя presentViewController
. Пожалуйста, объясните, что мне не хватает?Строка состояния перекрывается на моем представлении
ответ
Это довольно распространенная проблема. Начиная с iOS 7 Строка состояния является частью представления контроллера. Apple даже добавила специальный атрибут UIView в Interface Builder: iOS 6/7 Deltas. Чтобы исправить вашу проблему и сделать ваше представление одинаковым в разных версиях iOS, перейдите к Инспектору размеров и установите Delta Y на 20.0.
Я не могу установить deltas, поскольку использую автомат на моем вид –
В этом случае вы должен добавить ограничение и изменить его значение программно в соответствии с версией iOS. – kelin
может указать, как установить строку состояния над моим представлением программно для iOS 7 для ориентации в портретной и альбомной ориентации с использованием автоматического макета –
В Xcode, в раскадровке есть опция iOS6/7 delta. установите delta Y на 20 пикселов вашего представления, чтобы сделать совместимым с iOS7.Для этого вам нужно отключить автоматическую компоновку, вы можете использовать автоматическое изменение размера.
Я хочу автомат на моем вид –
извините, я не хочу, чтобы авто макет был на моем видном –
Я получил его пропустить .. –
попробуйте этот http://stackoverflow.com/questions/25781169/how-to-fix-status-bar-overlap-issue-in-ios-7/25884064#25884064 –
Возможный дубликат [Строка состояния и навигация бар появляются на границах моего представления в iOS 7] (http://stackoverflow.com/questions/17074365/status-bar-and-navigation-bar-appear-over-my-views-bounds-in-ios-7) –
Я использовал приведенный ниже код, чтобы опустить мой взгляд на 20 пикселей вниз .. он работал нормально для портретной ориентации, но не работает для пейзажа ([[[UIDevice currentDevice] systemVersion] floatValue]> = 7) { if (self.view.frame.origin .y == 0) { CGRect viewBounds = [self.view bounds]; viewBounds.origin.y = 20; viewBounds.size.height = viewBounds.size.height - 20; self.view.frame = viewBounds; } } –