2013-12-12 2 views
0

, как известно в iOS 7, строка состояния перекрывается с видом, но не в iOS 6.ios 6 и ios 7 incosistance in view

Я разработал целое приложение для iOS7, и теперь меня просят сделать поддержку iOS6 для него , но это просто беспорядок.

, как мы видим, в этом вопросе Overlaps the status bar on view iOS7 есть решение для прошивки 7 быть как iOS6

, но я могу сделать это противоположным путем? и как-то заставить iOS 6 вести себя как iOS7 со статусом?

ответ

1

Вы не можете заставить строку статуса iOS 6 действовать как строка состояния iOS 7, это совершенно разные конструкции. В iOS 7 используется плоский интерфейс, а iOS 6 - нет. Прочитайте iOS 7 transition guide для лучшего понимания и способов устранения различий.

Для конкретной строки состояния here - это раздел этого документа, в котором рассказывается, как с ним обращаться.

+0

Спасибо за ваш ответ! –

1

Короткий ответ: Нет, вы не можете.

iOS 6 SDK не позволяет вам контролировать строку состояния, как iOS 7.

Что вы можете сделать, это настроить размер, так что не теряет структуру в Вашем макете

Сначала вы можете определить константу, чтобы знать, когда это IOS 7 или нет:

#define kIS_IOS_7 (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) 

то в вашем AppDelegate вы можете изменить появление на панели навигации следующим образом:

UIView *background = [[UIView alloc] init]; 
if (kIS_IOS_7) { 
    background.frame = CGRectMake(0, 0, 360, 64); 
} else { 
    background.frame = CGRectMake(0, 0, 360, 44); 
} 
background.backgroundColor = [UIColor blackColor]; // choose your color or image 
UIGraphicsBeginImageContext(background.frame.size); 
CGContextRef context = UIGraphicsGetCurrentContext(); 
[background.layer renderInContext:context]; 
UIImage *backgroundImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

[[UINavigationBar appearance] setBackgroundImage:backgroundImage 
            forBarMetrics:UIBarMetricsDefault]; 
+0

, так что я не могу сделать строку состояния, чтобы быть прозрачной и перенести все мои границы взгляда на y -20? –

+0

@ user2957713 Не на iOS 6 не жалко. Я посоветовал, что они включают в себя все вопросы, которые могут возникнуть в отношении поддержки iOS 6 и iOS 7. И есть некоторые обязательные и обязательные условия там, которые вы можете прочитать, если поддерживаете оба. – Popeye

+0

ОК, похоже, у меня будут трудные времена :( Спасибо за ответ –