2014-02-05 6 views
1

Это то, что мой взгляд контроллер выглядит следующим образом:Как сделать всю ячейку UITableView ответом на краны?

enter image description here

Когда я запустить приложение, только маленький значок информации будет реагировать на нажатия. Отводы в другом месте в ячейке игнорируются. Как сделать клики целой ячейкой?

Я даже не хочу, чтобы значок информации был там, но это единственный способ, которым я могу добраться до подробного представления, в настоящее время ... Если я изменил настройку аксессуара ячейки на «Нет», чтобы избавиться значка информации/«Подробное раскрытие», то ячейка вообще не будет реагировать на краны.

EDIT:
Спасибо за ваши ответы до сих пор. В ответ на некоторые из ваших вопросов у меня есть метод cellForRowAtIndexPath, и он вызван. Тем не менее, я также использую секу для подключения моей камеры к следующему контроллеру, но метод prepareForSeque: sender вызван только тогда, когда/когда я нажимаю на значок информации, а не когда я нажимаю на ячейку ...

В настоящее время я пытаюсь выяснить, почему метод prepareForSeque не вызван, когда я нажимаю на ячейку (например, когда я использовал просмотры таблиц в прошлом) ...

Я смотрел на prepareForSeque doesn't fire (как было предложено iMani), но у меня есть идентификатор моей ячейки.

Я также рассмотрел PrepareForSeque not called/fired, в котором говорится о вызове вручную вызывающего пользователя. Выполнение запроса: Идентификатор: отправитель. Тем не менее, мне никогда не приходилось вручную называть это в прошлом, когда я использовал представления таблиц, а мои ячейки в прошлом все еще запускали метод prepareForSeque ...

+1

Вы внедрили метод делегирования 'didSelectRowAtIndexPath'' UITableView' – Akhilrajtr

+0

Я реализовал метод (фактически, * Apple * реализовал метод - я просто использую MasterViewController по умолчанию, который Apple создает при создании нового «Мастера» -Detail Application "). Но я также использую segue для подключения ячейки к контроллеру. Однако метод prepareForSeque не вызывается, когда я нажимаю на ячейку, он вызывается только при нажатии значка информации ... – Troy

+0

Проверьте, подключена ли ваша ячейка к следующему контроллеру, или вы подключаете значок в раскадровке/XIb? Если вы подключаете значок, попробуйте подключить ячейку к следующему контроллеру представления в вашем раскадровке/Xib. Также проверьте идентификатор ячейки в вашем раскадровке/Xib и сопоставьте ее с тем, который вы указали в cellForRowAtIndexPath. Посмотрите, помогает ли это. –

ответ

0

Проблема была в том, что я создал неправильный тип seque. Исправление для this question также фиксирует поведение, которое я видел здесь.

0

просто реализовать метод делегата представления таблицы и убедитесь, что вы подключили свой вид таблицы с делегатом:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

вы можете найти еще какой-то метод делегата здесь:

Apple Docs

+0

Когда я использовал представления таблиц в прошлом (не то, что у меня много опыта - я довольно новый), я управляю щелчком по ячейке и перетаскиваю ее на свой следующий контроллер, чтобы создать переход из ячейки в представление , Когда я нажимаю на ячейку, вызывается метод prepareForSegue: sender. В этом случае метод prepareForSegue только вызывается, когда я нажимаю на значок информации ... Я не уверен, что на этот раз вызывает это различное поведение. – Troy

0

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

реализовать метод ниже делегат, прежде чем делать это сделать свой Tableview setdelegate к себе и setdatasource к себе и реализовать UITableViewDelegate, UITableViewDataSource в классе интерфейса (.h)

-(void) tableView:(UITableView *)_tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
0

Check это в tableview xib ..? и не Аксессуар установки камеры в «None»

enter image description here

Наконец реализовать метод didSelectRowAtIndexPath: делегата для обработки выбора.

+0

То, что я не понимаю, - это почему не вызов метода prepareForSeque: метод отправителя? Вот как это сработало, когда я использовал представления таблиц в прошлом ... но теперь этот метод вызван только тогда, когда/когда я нажимаю на значок информации. – Troy

+0

см. Эту ссылку http://stackoverflow.com/questions/8876408/prepareforseque-doesnt-fire и этот http://stackoverflow.com/questions/16778452/prepareforseque-not-called-fired – Mani

Смежные вопросы