Где находится UIButtonTypeInfoLight? - PullRequest
2 голосов
/ 06 февраля 2012

Я ищу выбор UIButtonTypeInfoLight в списке идентификаторов для элементов панели кнопок, и я его не вижу.Итак, два вопроса.

  1. Это просто отсутствует, и мне придется создать его вручную, в коде?Мне интересно, почему они бы пропустили это.

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

Я предполагаю, что я сделаю это [self performSegueWithIdentifier:@"ShowChecklist" sender:nil]; из метода, который вызывает моя кнопка.

Код, который создал мою кнопку:

UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
[infoButton addTarget:self action:@selector(infoButtonAction) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *modalButton = [[UIBarButtonItem alloc] initWithCustomView:infoButton];
[self.navigationItem setRightBarButtonItem:modalButton animated:YES];

Итак, это обычная модель?Я делаю что-то странное и нестандартное?Мне просто кажется странным, что если бы моя BarButton была просто пользовательской кнопкой с надписью «информация», я мог бы создать ее и связать все в раскадровке ... но для этого мне придется делать все это в коде.

Th menu:

1 Ответ

7 голосов
/ 06 февраля 2012

UIButtonTypeInfoLight - это UIButton.Элементы панели кнопок - это элементы UIBarButtonItems.Они не имеют ничего общего друг с другом.Вы просто путаете яблоки и апельсины.

Однако UIBarButtonItem может содержать UIButton.(Это просто в силу того факта, что он может содержать любой UIView.) Так перетащите кнопку UIB на панель инструментов.Вы получаете UIBarButtonItem , содержащий UIButton.Если вы дважды щелкните UIBarButtonItem, вы получите UIButton.Теперь вы можете установить тип кнопки .

...