Подтвердить что ты не робот

IPhone Interface Builder: Z-Index, Z-порядок кнопки, изображение, элемент ui и т.д.?

Я перетаскиваю вещи в Interface Builder... Я бы хотел указать, находится ли изображение спереди (например, индикатор) или позади кнопки (например, фона). Я не вижу никакого свойства z-index, поскольку я привык видеть в других средах. Если нет свойство z-index - лучший способ сделать то, что я пытаюсь выполнить? Спасибо!

4b9b3361

Ответ 1

Я добился того, чего хотел, нажав на элемент ui (кнопка, изображение, текст и т.д.) и перейдя в меню "Макет" (вверху экрана), а затем использовал "принести на передний план", "отправить назад" "и т.д.

В Xcode 4.2 вы найдете варианты в меню вверху: Editor- > Arrange

Ответ 2

Существует упорядочение Z без использования subviews. Во-первых, есть опции меню "отправить на фронт" и "отправить назад". Однако, если вы посмотрите на элементы в своем представлении как на дерево элементов, вы можете переупорядочить их там (а не в самом представлении), просто перетащив.

Subviews отлично подходят для группировки, но не так полезны для упорядочения (за исключением того, что весь "набор" остается на одном уровне).

Ответ 3

В построителе интерфейса XCode 4.6 вызовите "Контекст документа" в меню (Редактор- > Показать структуру документа) или щелкните полупрозрачную кнопку в левом нижнем углу холста. В списке "Объекты" отображается Z-упорядочение представлений, и пользователь может перетащить их, чтобы изменить порядок между собой. Чем ближе к нижней части экрана, тем ближе этот элемент к пользователю.

Ответ 4

В XCode-разработке элемент пользовательского интерфейса или "представление" находится перед другим представлением, когда он является подвидью этого представления. Например, если вид B является фоном, и представление C является элементом управления, чтобы поместить элемент управления над фоном (то есть ближе к пользователю), вы должны сделать представление C под-представлением вида B. В Interface Builder это выполняется перетаскивая элемент управления в фоновый режим.

По существу, вы смотрите на древовидную структуру, а представления в фоновом режиме находятся рядом с корнем дерева, а представления на переднем плане (ближе к пользователю) находятся возле листьев дерева.

Документ Windows и Views из документации разработчика iPhone от Apple может помочь устранить проблему.

Примечание 1:. Вы почти никогда не должны перекрывать отдельные элементы управления, такие как кнопки и текстовые поля. Это происходит против принципов пользовательского интерфейса Apple. Вы, конечно, можете это сделать, если хотите, но вам нужно знать, что вы выходите из зоны безопасности. Если вы просто пишете "нормальное" приложение для iPhone, лучше всего придерживаться способа Apple делать вещи.

Примечание 2: Если по какой-то причине вам нужно что-то перекрывать определенным образом, вы можете использовать CALayer, чтобы все было правильно упорядочено. Объекты CALayer являются частью технологии Apple Core Animation.

Ответ 5

Я знаю, это старый вопрос, но в xcode 4.6 я могу просто перетаскивать элементы вверх и вниз в списке слева. Чем ниже элемент в списке, тем ближе он к пользователю, например. нижний элемент в списке всегда будет виден, если только он не будет отображаться на экране. Я не уверен, когда это было реализовано, но это кажется проще, чем другие ответы.

Ответ 6

В Swift:

В представлении, которое вы хотите перенести в начало

     superview?.bringSubviewToFront(self)

Ответ 7

То, что сработало для меня, делало это в коде:

self.view.sendSubviewToBack(imageView);

Я не знаю, почему, но ни один из других ответов не исправил его навсегда. Я положил строку выше в методе viewDidLoad.