2009-04-15 3 views
0

Я пытаюсь разработать, как реализовать относительно простое приложение.Архитектура визуальной сетки «кнопок»

Я хочу создать сетку 'квадратов', которые охватывают весь экран. Каждый квадрат должен иметь возможность реагировать на события касания, а затем иметь состояние включения/выключения. Например, если я касаюсь квадрата «off», а затем перетаскиваю палец на 10 других квадратов, я хочу, чтобы все они включились. И наоборот.

Я не уверен, что накладные расходы памяти просто создают сетку из 150 кнопок. Также кнопки не имеют настраиваемого состояния, из того, что я вижу. Я также думал о подклассификации UIView и реализации методов UIResponder. Мне кажется, что я должен создать массив массивов кнопок (или подкласс UIViews), но я не уверен, что это возможно.

Я предполагаю, что могу сказать, на каком квадрате я нахожусь, установив местоположение touchhevent из методов UIResponder. Нужно ли мне создавать свою собственную версию myButton путем подкласса UIView и иметь свойство включения/выключения, вместе с методами UIResponder, а затем создавать массив myButtons?

ответ

1

UISwitch - это единственное, что делает это на данный момент, хотя некоторые из них имеют хорошие впечатления, используя UISegmentedControl для этого.

Кроме того, вам придется изменить стиль/цвет обычной кнопки или изображения в коде, что и делает многие разработчики приложений, так что они выглядят и реагируют точно так, как они этого хотят.

+0

Как изменить стиль/цвет переключателя? В документации они говорят, что класс UISwitch не настраивается. – Craig

+0

Извините, я уточню, что ... –

0

Если вам не нужно больше средств обработки событий UIView, вы получите максимальную производительность, если используете один вид и даете ему -touchesBegan: withEvent, -touchesMoved и -touchesEnded. Затем используйте собственный метод drawRect для рисования отдельных квадратов в состояниях включения или выключения. Вы также можете использовать слои, но попытка выложить 150 просмотров требует неприятностей.

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