Уменьшить высоту UIView сверху

Я просто пытаюсь установить frame из UIView, но когда вы пытаетесь уменьшить угол обзора height, он будет уменьшаться снизу, а не сверху. Как я могу изменить высоту обзора сверху, а не снизу?

 customView = CGRect(x: 0, y:0 , width: self.view.frame.width , height: self.view.frame.height - reduceHeightSize)

покажи свой код.

AbecedarioPoint 31.05.2018 14:11

Вы хотите охватить верхнюю часть подвидов?

ymutlu 31.05.2018 14:15

вы использовали ограничения или программно создавали представление

sanjaykmwt 31.05.2018 14:19
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
322
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Вам нужно сделать как ...

customView = CGRect(x: 0, y:reduceHeightSize , width: self.view.frame.width , height: self.view.frame.height - reduceHeightSize)

Да, но, как я уже сказал, он будет уменьшаться снизу, а не сверху

Mc.Lover 31.05.2018 14:13

Не думаю, что этот код будет работать. Предполагается, что исходная точка Y перед, уменьшающая размер, равна 0.

dfd 31.05.2018 14:53

Всякий раз, когда размер представления изменяется / уменьшается, он всегда будет уменьшаться снизу, потому что x и y представления остаются такими же .... поэтому, если вы хотите уменьшить размер представления сверху .... тогда вам нужно настроить y позиция представления ... Примечание. Пользовательский интерфейс представления изменен ... содержимое представления остается таким, как оно есть.

Mahendra 31.05.2018 14:57

Вы можете обновлять 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)

Другие вопросы по теме