Как выглядит выбор встроенных контактных приложений для iPhone - PullRequest
0 голосов
/ 07 июня 2010

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

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

Спасибо за любую помощь заранее

Ответы [ 3 ]

0 голосов
/ 07 июня 2010

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

Для воспроизведения создайте пользовательский подкласс UITableView и расположите его так, как вам нужно, либо программно, либо в Interface Builder.Затем в делегате табличного представления cellForRowAtIndexPath отметьте indexPath.section и верните правильную строку для раздела.

0 голосов
/ 07 июня 2010

Похоже, что приложение "Контакты" использует пользовательский tableHeaderView при представлении контактных данных с изображением и этикеткой. Аналогичная реализация включена в пример проекта iPhoneCoreDataRecipes . RecipeDetailView загружает отдельный кончик в tableViewHeaderView, который используется для установки свойства tableView.tableHeaderView. Посмотрите на RecipeDetailViewController.{h,m} и DetailHeaderView.xib. Когда приложение «Контакты» переключается в режим редактирования, headerView, как представляется, заменяется другим представлением, в котором есть кнопка и tableView с одной ячейкой. Это позволит вам настроить отдельный tableViewDelegate для обработки частей имени контакта и делегата для обработки деталей адреса / телефонии.

0 голосов
/ 07 июня 2010

Существует три UITableViewDelegate сообщения, которые вы можете прослушивать для регулировки высоты

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section

Однако, даже подумав, что я не написал Contacts.app, я чувствую, что они также используют

- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath

Для настройки просмотра. Помните, вам не нужно упаковывать все в одну монолитную пользовательскую ячейку табличного представления. Вы можете создать несколько пользовательских ячеек табличного представления и загружать их соответственно в зависимости от пути индекса.

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