Уменьшите ширину UITableViewCell и поместите пользовательскую кнопку слева - PullRequest
3 голосов
/ 21 июня 2010

Есть ли способ уменьшить стандартную ширину сгруппированного UITableViewCell и поместить пользовательскую кнопку слева (за пределами границы ячейки)? Я пытался изменить размер ячейки, но он остается прежним

альтернативный текст http://i49.tinypic.com/10f2c5g.png

Ответы [ 3 ]

2 голосов
/ 22 июня 2010

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

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

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

Так что об этом позаботиться. Тогда в вашем подклассе UITableViewCell все, что я хотел бы сделать, это реализовать метод

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {

, который, как я полагаю, вызывается, когда таблица, к которой принадлежит ячейка, перешла в режим редактирования. Там я бы добавил (или анимировал любым способом, каким вы хотите) кнопку, которая появится слева от вашей ячейки. Я сделал это внутри ячейки сгруппированного стиля, но никогда снаружи. Попробуйте!

0 голосов
/ 10 июня 2011

Блог Cocoanetics, кажется, имеет довольно хорошее решение для этого: http://www.cocoanetics.com/2010/03/how-to-shrink-cells/

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

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

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