Где находится UIButtonTypeInfoLight?

Я ищу выбор 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

1 ответ

Решение

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

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

Другие вопросы по тегам