изображение ячейки uitableview - ищем знак плюс - PullRequest
0 голосов
/ 11 декабря 2011

Я хочу добавить собственный знак "+" в одну из моих ячеек таблицы, но не уверен, есть ли для этого атрибут. Я в основном хочу сделать то, что на изображении ниже, но в режиме без редактирования (я знаю, как это сделать, когда в режиме редактирования). Нужно ли добавлять это изображение вручную или оно предоставляется как часть API ячеек таблицы?

Спасибо!

enter image description here

Ответы [ 2 ]

6 голосов
/ 11 декабря 2011

Обновленный ответ:

Во-первых, если вы намереваетесь иметь что-то, похожее на элемент управления «вставить элемент», но на самом деле не добавляющее что-либо в таблицу, вы можете нарушать Рекомендации по интерфейсу пользователя, и Apple может отклонить ваше приложение из магазина. , Apple сильно не любит использовать свои стандартные значки HIG способами, которые не являются стандартными, потому что это сбивает с толку пользователей. Посмотрите, что они говорят в разделе « Стандартные кнопки для использования в строках таблицы и других элементах пользовательского интерфейса » документации здесь . Цитировать:

[Стандартные кнопки] должны использоваться в соответствии с их определенным значением, как со всеми стандартными кнопками и значками. Другими словами, избегайте выбора кнопка, основанная на ее внешнем виде, без учета ее документированного имея в виду. Для обсуждения причин, почему важно использовать эти кнопки правильно, см. « Последовательное использование элементов пользовательского интерфейса ».

(Кроме этого, если вы хотите отмахнуться от ветра и хотите найти копии графических элементов пользовательского интерфейса iPhone, перейдите по ссылкам, приведенным здесь: UITableViewCell, вставьте / добавьте стиль, зеленый плюс (+ ) кнопка - как я могу получить это изображение?

Кроме того, синяя (не зеленая!) Кнопка «плюс», как видно из «Контактов», доступна в качестве пользовательской кнопки UIB: см. [UIButton buttonWithType:buttonType] В списке допустимых типов кнопок здесь .)

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

Попробуйте постоянно держать таблицу в режиме редактирования, но не отображайте элемент управления редактирования на панели навигации или подобном. Вы можете включить режим редактирования для UITableView программно, установив свойство editing. Сделайте это в начале жизненного цикла - попробуйте установить его в viewWillAppear, возможно.

Мой первоначальный ответ о том, как добавить значок «Вставить» (это был не фактический вопрос, но информация все еще может быть полезна для некоторых читателей):

Пожалуйста, прочитайте документы Apple о UITableView вставке и удалении .

Цитировать соответствующие части:

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

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

В частности, вам интересен этот метод:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

, который является частью протокола UITableViewDelegate, документы здесь .

Обновление

Хорошо, чтобы ответить на ваш оригинальный вопрос:

Вам необходимо добавить изображение вручную.

2 голосов
/ 23 августа 2012

Как насчет этого?

В tableView:cellForRowAtIndexPath:

UIButton *bn = [UIButton buttonWithType:UIButtonTypeContactAdd];
bn.frame = CGRectMake(10.0, 10.0, 25.0, 25.0);
bn.userInteractionEnabled = NO;
[cell addSubview:bn];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...