2010-05-26 2 views
0

Основной вопрос, но я не уверен. Не искать код в качестве ответа.Самый эффективный способ рисования 4 строк в приложении для iPhone?

Я хочу нарисовать 4 коротких строки 1px линий на вид. Каков наилучший способ подходить к этой задаче? Варианты: -

  • Загрузите изображение линии, а затем создайте с ней 4 UIImageViews.
  • Создайте мой собственный подкласс UIView, который рисует линию в методе draw draw.
  • Нарисуйте в другом месте другой вид, другой UIImageView, в котором есть UIImage внутри (возможно ли это?)
  • Другой способ?

Благодаря Росс

ответ

2

Простейший способ заключается в создании UIView подкласса и выполнить рисунок в drawRect:. Дополнительную информацию о том, как рисовать линию, см. В разделе CoreGraphics guide.

1

Быстрый и грязный способ добиться этого - просто создать UIView и установить его высоту (или ширину, в зависимости от ее ориентации) до 1px, а затем установить цвет фона и пощелкать его на ваше представление в качестве подсмотра.

+0

приятный. Я знаю, что это не важно, но ради науки: потребует ли он столько ресурсов, сколько использовать 'drawRect:'? – Ross

+0

Draw rect может быть более эффективным, я не знаю действительно. Я полагаю, что 1px высокий вид с черным фоном будет потреблять столько же обработки, сколько и представление, которое нарисовало черную линию 1px. Хотя в зависимости от вида, если он был высотой 10 пикселей и рисовал линию в центре, а остальная часть была белой, я предполагаю, что это займет больше обработки, так как есть большая область для рисования. Опять же, я просто догадываюсь. – Jasarien

+1

Каждый вид имеет фиксированную стоимость рендеринга и дополнительные затраты в отношении свойств size/transform/other. Если у вас есть только одна строка, одиночный вид с высотой или шириной 1px, скорее всего, будет быстрее, но в какой-то момент несколько строк в одном представлении опередят его. Если производительность становится проблемой, профиль, который лучше всего работает – rpetrich

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