В контроллере представления отображаются два UIViews вверх и вниз. Они имеют одинаковую ширину и 20 пикселей друг от друга.Невозможно изменить размеры подзонов в определенном UIView
Если я нажму UIButton, высота верхнего вида (viewUpper) должна увеличиться на 30 пикселей; а нижняя (viewLower) уменьшается на ту же сумму. До сих пор я делал взгляды так, как хочу. Верхний расширился, а нижний сократился.
Кроме того, координата y viewLower также увеличивается на такую же величину, чтобы эти два вида сохраняли расстояние.
Проблема заключается в том, что подсмотры в нижнем представлении не меняются так же, как и надстройка. Нижний вид имеет два подвидности, выровненных вверх и вниз.
Верхний подзаголовок (viewTitle) должен сохранять свой размер. Нижний subview (viewContent) должен уменьшаться на 30 пикселей. Я написал код следующего кода:
viewContent.frame.size.height -= 30
Этот, однако, не работал. Поэтому я использовал для заявления, написанного ниже, что не сработало.
@IBAction func changeSize(sender: UIButton) {
//d is a Bool variable to choose whether it's turn to shrink the viewLower or not
if d{
d = false
viewUpper.frame.size.height += 30
viewLower.frame.size.height -= 30
viewLower.frame.origin.y += 30
//do not work
//viewContetnt.frame.size.height -= 30
//I tried this code to change the subviews in the same way
for views in viewLower.subviews {
if views.frame.size.height > 30 {
views.frame.size.height -= 30
}
}
}
else {
d = true
viewUpper.frame.size.height -= 30
viewLower.frame.size.height += 30
viewLower.frame.origin.y -= 30
//do not work
//viewContetnt.frame.size.height += 30
//I tried this code to change the subviews in the same way
for views in viewLower.subviews {
if views.frame.size.height > 30 {
views.frame.size.height += 30
}
}
}
}
func changeWholeViewSize(view: UIView, f: CGFloat){
for views in view.subviews {
if view.frame.size.height > 40 {
views.frame.size.height -= f
}
if(views.subviews.count > 0) {
changeWholeViewSize(views, f: f)
}
}
}
Как мне справиться с этой проблемой? Единственные два пути, которые я знаю, не помогают мне.
Фактически viewContent имеет два UITableViews; Я не упоминал их –
Вы добавили представления и задали фреймы или использовали ограничения? – Wain
@Wain Я установил ограничения для каждого вида для установки макетов. Но ни один из них не фиксирует размеры просмотров; только, сколько пикселей они являются друг от друга. –