Замените UIImageView на UILabel в UITableViewCell - PullRequest
1 голос
/ 15 марта 2012

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

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

Я знаю, как создать пользовательскую ячейку в Интерфейсном Разработчике, но затем я делаю это, я не знаю, как получить изображение с галочкой, которое используется при установке UITableViewCellAccessoryCheckmark. Это раскрытие доступно в виде кнопки (и нескольких других), но галочка, кажется, недоступна. Есть ли способ получить значок галочки и использовать его в пользовательской ячейке в Интерфейсном Разработчике? Я не хочу ставить свою галочку.

Я искал Интернет и Stackoverflow, но не могу найти ответ на свой вопрос. Я предполагаю, что пропускаю важную часть, но я не могу понять это самостоятельно.

Существуют ли какие-либо бесплатные замены с открытым исходным кодом или креативные общие ресурсы?

Ответы [ 3 ]

1 голос
/ 03 декабря 2012

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

Тогда в вашем:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath отрегулируйте ширину / смещение ваших этикеток по мере необходимости.

Для галочки, если вы не настраиваете, где появляется изображение раскрытия, вы должны просто иметь возможность установить егос cell.accessoryType = UITableViewCellAccessoryCheckmark

Надеюсь, это ответит на ваш вопрос.

-Brandon

1 голос
/ 04 декабря 2012

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

Здесь приведен пример кода .

Также для галочки вы можете добавить

cell.accessoryType = UITableViewCellAccessoryCheckmark

к вашему

tableViewCellWithReuseIdentifier или

cellForRowAtIndexPath в зависимости от того, что подойдет вашему приложению.

1 голос
/ 15 марта 2012

Если под «галочкой» вы подразумеваете поле с галочкой или аналогичным, которое пользователь может включать или выключать одним касанием, то я боюсь, что вам не повезло, поскольку у Cocoa-Touch нет такого элемента управления.

Тем не менее, кататься самостоятельно проще, чем вы думаете. Вам просто нужна пара или png изображений для графики (одно для «проверено» и одно для «не проверено»). В сети доступны тысячи бесплатных значков и кнопок.

Затем вы можете создать пользовательский UIButton, например:

UIButton *checkmark = [UIButton buttonWithType:UIButtonTypeCustom];
[checkmark setImage:[UIImage imageNamed:@"unchecked"] forState:UIControlStateNormal];
[checkmark setImage:[UIImage imageNamed:@"checked"] forState:UIControlStateSelected];

Затем вы можете проверить состояние кнопки (независимо от того, отмечена она или нет), используя свойство selected. Для получения дополнительной информации о selected см. Документацию Apple здесь .

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