Я просто пытаюсь установить frame из UIView, но когда вы пытаетесь уменьшить угол обзора height, он будет уменьшаться снизу, а не сверху. Как я могу изменить высоту обзора сверху, а не снизу?
customView = CGRect(x: 0, y:0 , width: self.view.frame.width , height: self.view.frame.height - reduceHeightSize)
Вы хотите охватить верхнюю часть подвидов?
вы использовали ограничения или программно создавали представление





Вам нужно сделать как ...
customView = CGRect(x: 0, y:reduceHeightSize , width: self.view.frame.width , height: self.view.frame.height - reduceHeightSize)
Да, но, как я уже сказал, он будет уменьшаться снизу, а не сверху
Не думаю, что этот код будет работать. Предполагается, что исходная точка Y перед, уменьшающая размер, равна 0.
Всякий раз, когда размер представления изменяется / уменьшается, он всегда будет уменьшаться снизу, потому что x и y представления остаются такими же .... поэтому, если вы хотите уменьшить размер представления сверху .... тогда вам нужно настроить y позиция представления ... Примечание. Пользовательский интерфейс представления изменен ... содержимое представления остается таким, как оно есть.
Вы можете обновлять frame.origin.y на столько же, сколько и высоту.
если значение reduceHeightSize положительно;
customView = CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y + reduceHeightSize , width: self.view.frame.width , height: self.view.frame.height - reduceHeightSize)
если вы сохраните отрицательное значение, reduceHeightSize;
customView = CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y - reduceHeightSize , width: self.view.frame.width , height: self.view.frame.height + reduceHeightSize)
Лучше было бы просто сохранить размер, а не направление.
customView = CGRect(x: 0, y:0 , width: self.view.frame.width , height: self.view.frame.height - reduceHeightSize)
Проблема вашего кода в том, что вы меняете Height на CGRect. и вы хотите изменить верхнюю позицию view, поэтому вам нужно изменить положение также y вашего представления, чтобы, наконец, ваш код был
customView = CGRect(x: 0, y: reduceHeightSize , width: self.view.frame.width , height: self.view.frame.height - reduceHeightSize)
Если я правильно понимаю ваш вопрос, вероятно, это связано с тем, что ваше представление не ограничено / не закреплено внизу и, следовательно, по умолчанию уменьшается наверху. Попробуйте добавить ограничение снизу.
Я только что разобрался, что мне нужно:
customView.frame = CGRect(x: 0, y: self.view.frame.origin.y - reduceHeightSize , width: self.view.frame.width , height: self.view.frame.height + reduceHeightSize)
покажи свой код.