iphone: найти другие элементы пользовательского интерфейса внутри UITableCell без использования IBOutlet - PullRequest
0 голосов
/ 27 августа 2010

У меня есть несколько пользовательских UITableCells, которые я встроил в конструктор интерфейсов. Затем они ассоциируются с их правильным индексом ячейки, и каждый из них отлично выглядит в моем tableView.

В каждой ячейке есть несколько кнопок, вместо того, чтобы создавать выход для каждой кнопки ячейки таблицы, есть ли способ просто «найти» какие-либо типы UIButton в текущей ячейке? Мне нужно это сделать, потому что я хочу назначить ему IBAction, поэтому, когда вы нажимаете на кнопку, он что-то делает.

Я просто хочу сохранить код, а не создавать 20 или более IBOutlets.

Идеи

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

Если вы зададите каждому уникальному тегу в Интерфейсном Разработчике, вы можете найти его с помощью метода viewWithTag:, равного UIView.

0 голосов
/ 27 августа 2010

Я думаю, что вы можете перебрать свойство subviews в любом UIView, а затем проверить, является ли оно UIButton, вы можете использовать - (BOOL)isKindOfClass:(Class)aClass.Чтобы различать UIButton s, вы можете применить к ним теги или проверить другие свойства.

EDIT : Кстати, почему бы не просто подкласс UITableViewCell, добавьте свои кнопки в свойства IBOutlet, а затем, когда вы захотите получить к ним доступ, вы можете просто сделать myCell.someButton? Здесь - статья о том, как создать подкласс UITableViewCell и использовать его в UITableView.

Если вы сделаете это таким образом, то все будет организовано.UITableView будет беспокоиться только о своих UITableViewCells, а каждый UITableViewCell будет беспокоиться о своих отдельных UIB-кнопках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...