Наложение UIView на UINavigationBar и UIViewController - PullRequest
5 голосов
/ 17 августа 2010

По сути, я хочу отобразить уведомление прямо под UINavigationController, покрывая область, которая будет занята видом самого верхнего UIViewController. Однако я хочу, чтобы фоновое изображение расширялось вверх и частично покрывало UINavigationBar

Готовый продукт должен выглядеть следующим образом alt text

Хитрость заключается в том, что я хочу, чтобы это применялось только к определенным представлениям с иерархией представлений, поэтому атака на проблему с помощью [UIApplication keyWindow] может оказаться не лучшей идеей. Также я предполагаю, что использование представлений вне приватного UINavigationTransitionView не будет частью анимации перехода представления, оставляя мое представление поверх контроллера ниже, когда этот выдвигается.

Вид самого верхнего контроллера представления также не помогает, поскольку его фрейм заканчивается в основании UINavigationBar, означая, что стрелка не будет перекрывать UINavigationBar

Предложения

Спасибо

1 Ответ

1 голос
/ 02 марта 2011

Так как кажется, что вы столкнулись с проблемой только с Navigation Bar, поскольку это не позволит перекрыть представление.

Это сложная часть .... Просто используйте кнопку Custom backустановите изображение поверх него слева от панели навигации. Кнопка

enter image description here

UINavigationBar *bar = [self.navigationController navigationBar];   
UIButton *btn;
btn = [[UIButton alloc] initWithFrame:CGRectMake(5, 2, 100, 48)];
[btn setImage:[UIImage imageNamed:@"left.png"] forState:UIControlStateNormal];
btn.backgroundColor = [UIColor clearColor];
[bar addSubview:btn];
[btn release];

Это наверняка поможет вам и решит все ваши запросы на то же самое... enter image description here

...