iPhone - UITableView не вызывает метод didSelectRowAtIndexPath в 3.0 SDK - PullRequest
0 голосов
/ 30 июня 2009

У меня есть приложение для iPhone, которое отлично работает в 2.x версии SDK. Когда я обновился до 3.0, метод didSelectRowAtIndexPath больше не вызывался, поэтому действие, когда пользователь выделяет строку, не происходит. Это пользовательский UITableViewCell, который находится в отдельном кончике от UITableView. И источник данных, и делегат данных правильно подключены в Интерфейсном Разработчике, и если я скомпилирую его в 2.21, он будет работать. В версии 3.0 нажатие на строку ничего не делает.

В этом вопросе упоминается аналогичная проблема, но они упоминают еще одного первого респондента, который принимает щелчок. У меня нет методов первого респондента, подключенных к ячейке или таблице.

Как мне заставить таблицу нормально работать в 2.x и 3.0? В пользовательской ячейке есть несколько меток и изображение, и я просто хочу иметь возможность щелкнуть строку и показать детали для этой конкретной строки.

Ответы [ 2 ]

1 голос
/ 30 июня 2009

Вам, вероятно, не понравится этот ответ слишком ...

Некоторые вещи, которые работали в 2.2, не работают в 3.0 (вы уже знаете это). Некоторые API изменились и т. Д. *

Однако, некоторые вещи отличаются, потому что они никогда не должны были работать в первую очередь (согласно Apple).

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

Мой совет:

Во-первых, проверьте соединения пера, может быть, у вас отсутствует соединение, из-за которого 2.2 позволяет вам обойтись, а 3.0 - нет.

Затем создайте тестовое приложение с простым представлением таблицы и посмотрите, сможете ли вы заставить его работать. Если это произойдет, вы должны начать добавлять сложности из своего кода в тестовое приложение, пока оно не сломается.

К сожалению, это может занять некоторое время. Вы также можете опубликовать некоторый код, чтобы увидеть, есть ли что-нибудь, что мы можем найти.

0 голосов
/ 07 июля 2009

У меня была такая же проблема. Я потратил на это часы, пытаясь представить что угодно. Самое смешное, что в итоге у меня не было проблем с моим кодом.

Я использую Objective Resource и после обновления до версии 1.0.1 проблема исчезла. Проверьте все сторонние библиотеки и убедитесь, что вы используете последние версии, чтобы убедиться, что у вас есть изменения 3.0.

...