Я пытаюсь разработать приложение с панелью навигации нестандартного размера. (100px) На панели навигации я также хочу включить кнопку «Назад». Я добавил их обоих, используя вид ребенка, но кнопка назад не работает:Задняя кнопка на пользовательской панели навигации
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *backBtnImage = [UIImage imageNamed:@"menueButton.png"];
UIImage *backBtnImagePressed = [UIImage imageNamed:@"menueButton.png"];
backBtn.exclusiveTouch = YES;
[backBtn addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside];
[backBtn setBackgroundImage:backBtnImage forState:UIControlStateNormal];
[backBtn setBackgroundImage:backBtnImagePressed forState:UIControlStateHighlighted];
backBtn.frame = CGRectMake(0, -40, 35, 32);
UIView *backButtonView = [[UIView alloc] initWithFrame:CGRectMake(0, -40, 35 , 32)];
[backButtonView addSubview:backBtn];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:backButtonView];
self.navigationItem.leftBarButtonItem = backButton;
Мой размер навигационной панели составляет 100 пикселей в высоту, и, когда я использую положение кнопки (0,0,35,32) он будет работать правильно. Но в этом случае кнопка отображается намного ниже, чем предполагалось. Что я делаю не так?
с помощью btnBack uiView отображаются две кнопки обратной связи на всем экране, но я хочу, чтобы на нескольких экранах была только одна кнопка назад. – 2AS
нашел решение, заменив следующий код, но теперь у вас есть проблема, так как когда я посетил экран и вернулся на главный экран, панель навигации последний посещенный экран появляется на главном экране, но у меня нет кнопки или кнопки на главном экране. – 2AS
'UIButton * backBtn = [UIButton buttonWithType: UIButtonTypeCustom]; [backBtn setImage: [UIImage imageNamed: @ "menueButton.png"] forState: UIControlStateNormal]; [backBtn addTarget: self action: nil forControlEvents: UIControlEventTouchUpInside]; backBtn.frame = CGRectMake (5, 15, 50, 32); [self.navigationController.navigationBar addSubview: backBtn]; self.navigationItem.hidesBackButton = YES; ' – 2AS