У меня есть два контроллера вида «SortViewController» и «CatalogeViewController». У меня есть кнопка «SortViewController» 6, которая связана с push segue на «CatalogeViewController» , как я могу узнать, из какой из кнопок пользователь пришел? Я установил идентификатор для segue, и я подумал о том, чтобы подготовиться к segue и отправить строковую переменную в «CatalogeViewController», пока пользователь нажимает кнопку и проверяет, является ли она той же строкой в «CatalogeViewController». Есть ли другой способ сделать это? и, пожалуйста, кто-нибудь может объяснить мне, как сделать preapre для segue со строковой переменной в соответствии с моим вопросом. ThanksОбнаружив, какая кнопка нажата на предыдущем контроллере представления
ответ
ответ Bouabane был бы работа, но для каждой кнопки потребуется создать отдельный сегмент, который изначально будет намного более трудоемким, сложнее поддерживать и загромождает вашу раскадровку множеством segue-соединений.
Поскольку все ваши кнопки ссылаются на один и тот же пункт назначения, я бы сделал это по-другому.
Создайте segue вручную, перетащив управление с вашего первого VC (ViewController) на второй VC. Дайте ему уникальный идентификатор типа «ButtonSegue»
Затем создайте IBAction для всех ваших кнопок. Свяжите все свои кнопки с тем же действием.
Дайте каждой кнопке уникальный номер тега. Используйте последовательный диапазон чисел (например, 101, 102 ... 106).
В методе IBAction сохраните номер тега кнопки в переменной экземпляра.
В вашей подготовкеForSegue передайте переменную экземпляра номера тега в пункт назначения VC. (Код, соответствующий номеру, быстрее и проще, чем код для соответствия строкам. С номерами вы можете использовать оператор switch.)
Чтобы сделать код более понятным и понятным, я бы определил перечисление typedef'd с возможными значениями тегов, затем введите переменную экземпляра номера тега источника исходного кода, и этот тип номера тега контроллера точки назначения использует этот тип.
Вы должны использовать этот метод.
- (Недействительными) prepareForSegue: (UIStoryboardSegue *) переход отправителя (идентификатор) отправитель
Это пример того, как вы можете выполнить ваши потребности:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
CatalogeViewController *catalogeViewController = segue.destinationViewController;;
if([segue.identifier isEqualToString:@"firtsSegue"])
{
catalogeViewController.selectedButton = @"firstButton";
}else if([segue.identifier isEqualToString:@"secondSegue"]){
catalogeViewController.selectedButton = @"secondButton";
}else
.
.
.
}
- 1. Обнаружив, какая кнопка была нажата
- 2. Обнаружив, какая кнопка была нажата в пакете
- 3. Обнаружив, какая кнопка пользовательского интерфейса была нажата внутри холста?
- 4. Обнаружив, какая обратная ссылка была нажата
- 5. проверить, какая кнопка нажата
- 6. Определите, какая кнопка нажата?
- 7. какая кнопка нажата java
- 8. Обнаружив, что ссылка была нажата
- 9. Какая кнопка нажата в ExpandableListView
- 10. Как узнать, какая кнопка нажата из UICollectionViewController в другом контроллере представления
- 11. Как узнать, какая кнопка нажата?
- 12. Определите, какая кнопка была нажата
- 13. Как определить, какая кнопка нажата на android
- 14. Как узнать, какая кнопка нажата на Android?
- 15. получить, какая кнопка нажата на виджет Android
- 16. Как узнать, какая кнопка нажата на Jsp
- 17. Зная, какая кнопка нажата на предыдущую активность
- 18. Как узнать, какая кнопка нажата?
- 19. Как узнать, какая кнопка нажата?
- 20. Зная, какая кнопка нажата! GTK
- 21. Как узнать, какая кнопка нажата?
- 22. Контроллер не видит, какая кнопка была нажата.
- 23. Как проверить, какая кнопка отправки нажата?
- 24. Как определить, какая кнопка была нажата.
- 25. Прочитайте, какая кнопка была нажата до переменной
- 26. Qt как проверить, какая кнопка мыши нажата
- 27. Как увидеть, какая кнопка нажата в ArrayList
- 28. как проверить, какая кнопка быть нажата
- 29. Как определить, какая кнопка была нажата
- 30. Как ActionListener знает, какая кнопка была нажата?