2010-10-28 2 views
1

Вот что мне нужно сделать:Какой самый лучший способ сделать это (iPhone SDK UI вопрос)

Я есть панель инструментов с несколькими объектами на него (для этого мы будем называть их A, B, C , D), и я хочу, чтобы пользователь мог щелкнуть мышью и перетащить их, а также привязать их к сетке и подключиться друг к другу.

Звучит легко, правда? Ну вот моя проблема: некоторые объекты разных размеров, поэтому A может быть 1x1, B - 1x3, C - 3x4 и т. Д.

Итак, как мне это сделать? Я думал о том, что каждый элемент, как отдельный UIImageView (или UIView, еще не решил), который можно перетащить, затем возьмите его местоположение и посмотрите, какие изображения находятся рядом с ним.

Другое дело, что я должен быть в состоянии экспортировать эти места в любой XML или JSON (не уверен, но, вероятно, XML)

ответ

1

Это звучит, как вам нужно будет подкласс UIView с тесселяции или какой-то основной сетчатой ​​системы координат с единицами 1x1. «Плитки» можно подклассифицировать из UIView, имея информацию о позиции UIImage и сетке. Если соседние плитки по определению связаны, вам не нужна дополнительная информация о состоянии связности. И написать это было бы так же просто, как выписать происхождение.

Я работаю над чем-то похожим, но с однотипными плитами. Это было весело - особенно логика вставки: позиционирование плитки между двумя другими плитами и выяснение того, что перемещается, чтобы освободить место.

+0

так что мне нужно было бы сделать UIView «плитка» для каждой плитки, которую я хочу? –

+0

В моем случае все «плитки» являются экземплярами Tile. Однако для их перемещения у меня есть контейнер UIView, который имеет дело с логикой движений и с обработкой касанийBegan :, touchesMoved: and touchesEnded :. Я бы подумал, что вы можете сделать что-то подобное - за исключением того, что все, что меняется для моих плит, - это «лицо» (например, Scrabble), и будь то лицо или лицо, вы также должны иметь размеры x и y. – westsider

+0

Спасибо за помощь. Я не делал этого так, как вы это делали, но ваш метод привел меня в правильном направлении. –

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