2010-11-06 4 views
1

Я настраиваю UITableviewCells, и я пытаюсь выяснить, что является наиболее эффективным способом сделать это.drawRect vs addSubview on UITableViewCells

Так что в основном мне нужно добавить 3 строки текста и 2 изображения. Я мог бы сделать это, создав UIImageViews и UILabels, но я мог бы также сделать это сам, подклассифицируя UITableViewCell. Также меня беспокоит анимация на ячейках (при переходе на editMode).

Каков наиболее эффективный способ сделать это, и который позволит мне выполнять пользовательские анимации?

ответ

1
  1. Вы собираетесь нужно подкласс UITableViewCell в любом случае

  2. Добавьте 3 строки текста и 2 изображений в UITableViewCell

Теперь для анимации из клетки. Это поднимает те же проблемы/вопросы, что и любая анимация.

Можете ли вы описать еще немного о том, что вы подразумеваете под «Пользовательскими анимациями» - и какова ваша анимация? Планируете ли вы оживить содержимое внутри одного из UIImageViews? Если это так - возможно, UITimer для запуска requireUpdate на rect, вызывая drawRect в UIImageView, это путь.

Если вы хотите сделать более стандартную анимацию типа кадр за кадром с фиксированного изображения (например, анимированный GIF) - UIImageView будет переворачивать между сериями изображений каждый [заданный] временной интервал - и может повтор.

Если вы занимаетесь анимацией местоположения и ротации, вы можете просто использовать стандартные вызовы анимации для этого - или через NSTimer.

Так это зависит от того, какого уровня «Animation» вы имеете в виду ...

+0

Согласно UITableViewCell Class Reference Apple, «У вас есть два пути расширения стандартного объекта UITableViewCell за заданные стили. Для того, чтобы создать ячейки с многократным , различные форматированные и размерные строки и изображения для контента, вы можете получить представление содержимого ячейки (через свойство contentView (страница 12)) и добавить к нему подвид. Вы также можете подклассифицировать UITableViewCell для получения характеристик и поведения ячеек, характерных для потребностей вашего приложения «. Тем не менее, я предпочитаю подкласс. – westsider

+0

Вы можете подклассы прямо через XCode, а также дизайн/макет Cell прямо в Interface Builder - очень легко сделать! – Brad

+0

Согласен. Я даже проголосовал за ваш ответ 1. Но для подкласса UITableViewCell «не нужно», даже если это, вероятно, лучший способ. – westsider

Смежные вопросы