2012-07-03 4 views
1

У меня есть UITableViewCell, который состоит из дочернего контейнера UIView и некоторых других дочерних компонентов, таких как метки, фон, значки и т. Д. Каждый UIImageView также имеет подсветку образ, установленный в Xcode IB.Выделите UITableViewCell на сенсорном событии в составном UIView

Клетка собрана в UIStoryBoard и имеет присоединенный к ней переход, поэтому я не использую типичный метод didSelect для делегата. Это иерархия:

UIViewController (serving as UITableView delegate) 
--> UIView (main view) 
    --> UITableView 
     --> UItableViewCell 
      --> UIView 
       --> (several UIView, image, label, etc..) 

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

Для выбора/выделения я имею в виду, забудьте о стандартном синем или сером цвете, но, вспомните все те конкретные изображения, которые я отмечаю как «выделенные» в IB.

целевой платформы IOS 5.

благодарит

+0

У вас есть «UITableViewCell» в вашем раскадровке, а не внутри какого-либо контроллера? – Dustin

+0

Да, UITableViewCell в UITableView. – Leonardo

+0

Это внутри контроллера табличного представления? Похоже, вам просто нужно подклассифицировать его. – Dustin

ответ

0

Ваш файл UIViewController должен осуществлять UITableViewDelegate и UITableViewDataSource

@interface NameOfViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> 

Затем вы можете переопределить методы таблицы. Похоже, вы хотите переопределить didSelectRowAtIndexPath. Я все еще немного неясен в отношении того, что вы хотите сделать, но похоже, что вы просто будете использовать этот метод и либо сообщите ячейке, что она выделена, либо передайте сообщение в ячейку, в которой ему нужно что-то сделать (например, изменить его изображения) , Вам также необходимо подклассифицировать свою ячейку и загрузить ее из файла .xib, если вы хотите это сделать. Извините, если это звучит, как большая часть работы, но для просмотра таблиц требуется много кода для настройки за пределами очень простых вещей.

+0

Да, единственное решение, похоже, вызывает mybackground.highlight = YES и т. Д., И это нужно сделать в didSelectRow ... – Leonardo