XCode 4 Interface Builder: лучший способ работы с большим количеством перекрывающихся представлений
В IB у меня есть несколько просмотров, которые показаны. Многие из них скрыты, когда приложение загружается, но отображаются позже, когда нажаты кнопки. Все это прекрасно, но при построении этого макета в IB очень сложно что-либо расписывать, потому что существует так много перекрывающихся представлений, некоторые из которых частично прозрачны (те, которые установлены в скрытые), а другие полностью перекрываются и охватывают другие. Это очень сложно сделать.
Каков наилучший метод при расчете множества просмотров? Есть ли другой способ разбить вещи? Или еще лучше, могу ли я полностью скрыть представление (например, в фотошопе), чтобы я мог редактировать под ним, а затем снова включить этот слой?
Ответы
Ответ 1
Я не знаю, как скрыть объекты на холсте, но полезный трюк для сложных макетов - это дважды щелкнуть элемент в дереве документов слева - это выбирает элемент и ставит фокус на холст, вы можете использовать клавиши курсора, чтобы подтолкнуть его.
Это не решает проблему неспособности видеть вещи, потому что есть, например, пять или шесть ярлыков, занимающих одно и то же пространство, но если это так, то может быть лучше иметь одну ярлык и изменить его содержимое в коде.
Ответ 2
Другим вариантом при попытке выбрать вид, скрытый другим, является ярлык:
'ctrl' + 'shift' и нажмите
Отображает список всех видов под курсором.
Ответ 3
Я столкнулся с этой проблемой для приложения, которое я создаю, который имеет изображение с видом в ариальном стиле с помощью интерактивных горячих точек. При щелчке точки доступа всплывающее окно UIview отображается с информацией об этом месте в парке. Я использую тот же VC/XIB для трех парков. Это делает XIB действительно занятым и трудным для работы (т.е. Той же проблемой, что и у вас). Подробные UIViews затрудняют работу с представлениями под ним. Мое обходное решение состояло в том, чтобы выбрать каждый подробный UIView, который скрывал часть XIB, над которым я хотел работать, и добавить 1000 в UIView origin.x в инспекторе размеров. Это переместило эти UIViews настолько, что я сделал то, что мне нужно, с XIB. Затем, когда я закончил, я переместил их на x 1000. (Мне просто нужно было перемещать их горизонтально, чтобы делать то, что мне нужно)
Я знаю его неуклюже, но учитывая, что XCode не имеет удобного способа скрыть части XIB - это был самый быстрый подход, который я мог придумать!
Ответ 4
Один подход к обработке перекрывающихся элементов в IB:
-
Убедитесь, что группы элементов, которые вы хотите скрыть, сгруппированы в представления.
-
Дайте эти имена просмотров: например. ViewOptionA, ViewOptionB и ViewOptionC.
Это можно сделать, щелкнув имя представления в дереве, пока оно выбрано, и затем введите новое имя.
-
Если вы хотите скрыть одну из этих групп элементов:
a) Выберите "Просмотр":
i) Щелчок по нему в дереве слева или в
ii) Ctrl-Shift Щелчок в редакторе макета, а затем выберите представление из списка.
b) В инспекторе атрибутов установите Alpha в 0.
-
Если вы хотите отобразить одну из этих групп элементов:
Что касается 2), но установите Alpha на 1
[Вы должны помнить, чтобы отображать все представления перед публикацией!
Если вы забыли как я, то, возможно, вы могли бы подклассифицировать UIView и установить Alpha в 1. Я еще не пробовал эту подклассическую идею.]