2016-10-01 3 views
1

Я хочу скрыть не ребенка UIView в UIView, но я не знаю, как это сделать.Скрыть не ребенка UIView в UIView

Для конкретных случаев у меня есть UITableView. Каждый из UITableViewCell имеет другое представление внутри (вид оболочки, который называется wrapperView). У обертки есть несколько меток, настроенных в IB, а некоторые - программно. Я создал собственный механизм слайдов, который показывает кнопки под оберткой (как это делает стандартный).

Этикетки, созданные программным способом, не превышают границы обертки, потому что они фиксируют подвид. Проблема заключается в создании ярлыков, созданных в IB. Они являются областями contentView.

Как это можно решить? Есть ли способ для UIView, чтобы закрепить другие взгляды на одном уровне (не родители или дети)? Или «перенести» ярлыки в представление обертки?

+0

«Есть ли способ для просмотра UIView для просмотра взглядов сестры» Нет. Организуйте свои взгляды лучше, поэтому он работает так, как вы хотите. Что касается «созданных вами программных меток», то я хочу, чтобы ваша проблема была невероятно проста - вы должны сделать это ребенком другого UIView - это так просто. – Fattie

ответ

2

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

Если вы хотите переместить объект вида из одной иерархии представлений в другую, вы можете использовать addSubview(_:) для этого. Это автоматически удалит его из текущего родительского представления. Чтобы процитировать документы Apple:

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

+0

Моя догадка, что ОП просто не понимает, что, когда вы делаете представление «программно», вы можете, конечно, установить родительский, супервизор этого нового представления. – Fattie

+0

Я очень четко понимаю концепции, и я знаю, что представление закроет его подвид. Я просил метод обрезать другие представления, которые не являются подзонами. Спасибо за ваш ответ, Дункан! Он работает отлично. – Lawrence413

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