Из ссылки на класс UITableViewCell :
У вас есть два способа продления
стандартный объект UITableViewCell за пределами
данные стили. Чтобы создать ячейки с
множественный, по-разному отформатированный и
размерные строки и изображения для контента,
вы можете получить представление содержимого ячейки
(через его свойство contentView) и
добавить к нему подпредставления.
Вместо добавления вспомогательной кнопки в качестве подпредставления UITableViewCell, вы должны добавить ее в качестве подпредставления contentView:
[[self contentView] addSubview:self.accessoryButton];
Разработали ли вы следующую проблему в своем подходе к дизайну ?: Допустим, одна из ваших ячеек (назовем это A) определяет, что она нуждается в расширении, поэтому вы добавляете к ней кнопку. Что происходит, когда пользователь прокручивает UITableView? По соображениям производительности ваш делегат UITableView должен использовать dequeueReusableCellWithIdentifier в tableView: cellForRowAtIndexPath :. Таким образом, вы будете повторно использовать A для отображения другой строки таблицы. Вы действительно хотите, чтобы у А была дополнительная кнопка? Наверное, нет, поскольку теперь он представляет другой объект.
Возможно, вам лучше выполнить настройку ячейки в UITextViewDelegate. В tableView: cellForRowAtIndexPath: вы можете определить, нуждается ли кнопка, отображаемая для объекта, отображаемого в указанной строке, и добавляет ли она его в качестве подпредставления для contentView.
Опять же, если размер вашего стола всегда относительно мал (скажем, <50), вы можете использовать <a href="http://blog.ourbeautifulfaces.com/post/76428376/devtip-dont-always-recycle-uitableviewcells" rel="nofollow"> этот подход, который предлагает Джереми Хант Шенхерр.