iPhone: возможно ли иметь кнопку «информация» во всех представлениях моего приложения? - PullRequest
1 голос
/ 06 июля 2010

Как уже упоминалось в заголовке, как мне реализовать такую ​​функциональность?

Я использую приведенный ниже код (в моем viewDidLoad), чтобы получить кнопку на контроллере навигации моего основного вида.

UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];

[infoButton addTarget:self action:@selector(viewWillAppear:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:infoButton];

Не уверен, как я могу отобразить его во всех моих представлениях.

Ответы [ 3 ]

1 голос
/ 06 июля 2010

Каждый просмотр, помещенный в стек навигации, имеет собственную панель навигации.Поэтому я боюсь, что вам нужно добавить эту кнопку на каждую панель навигации, когда вы создаете представление и перед тем, как переместить это представление в стек навигации.

0 голосов
/ 23 января 2017

Я бы предложил вам создать базовый контроллер вида и добавить кнопку панели к вашему navigationItem в viewDidLoad .Тогда все ваши контроллеры представления подклассы из базового контроллера, а не по умолчанию UIViewController .Это должно решить вашу проблему.

0 голосов
/ 06 июля 2010

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

...