2012-05-11 3 views
1

Я пытаюсь сделать это (извините за быстрый и грязный макет):UINavigationBar пользовательский фон с свесом (IOS 5)

enter image description here

Это UINavigationBar с пользовательским фоновым изображением. Однако изображение должно располагаться над нижней частью панели навигации. Изображение имеет неправильную форму (белые биты в моем макете прозрачны и должны показывать вид контроллера контроллера через промежутки).

Мне действительно не нужно было изменять каждый возможный контроллер просмотра, чтобы нарисовать нависающий бит. Может ли кто-нибудь подумать о умном решении, чтобы сделать эту работу?

Я поддерживаю только iOS 5, поэтому нет необходимости в обратной совместимости.

ответ

0

На самом деле, мне удалось это сам: я сделал свес часть фона отдельного изображения, и добавил его в качестве подвида навигационной панели:

UIImageView *iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navigationBarBackground-overhang"]]; 
    iv.frame = CGRectMake(0, newNavC.navigationBar.frame.size.height, newNavC.navigationBar.frame.size.width, iv.image.size.height); 
    [newNavC.navigationBar addSubview:iv]; 
    newNavC.navigationBar.clipsToBounds = NO; 
+0

Don'tcha просто ненавидит его. Как только вы отправляете в stackoverflow, вы сами решаете его через несколько минут. Бывает все время. Argh .... Хорошая работа BTW. –

+0

Хехе. Это происходит довольно часто. С другой стороны, публикация в Stack Overflow, похоже, помогает, потому что почему-то это побуждает мой мозг придумать решение! –

+0

Я думаю, что вопрос, связанный с вопросом, заставляет задуматься о проблеме ... –

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