Создание визуальной сетки «кнопок» - PullRequest
0 голосов
/ 15 апреля 2009

Я пытаюсь придумать, как реализовать относительно простое приложение.

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

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

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

Ответы [ 2 ]

1 голос
/ 15 апреля 2009

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

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

0 голосов
/ 16 апреля 2009

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

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