Как программно изменить размер ширины контроллера вида? - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь сделать viewcontroller вручную, не используя pod, следуя этому уроку https://www.youtube.com/watch?v=Hl_Re_KLhcY&t=141s

enter image description here

, но sideMenuVC (зеленый) имеет ширину, которая установлена ​​точно, я имею в виду, что sideMenuVC должен составлять 80% от размера MainMenuVC .поэтому, если я перейду с iPhone 5s на iPhoneX, autolayout все равно будет выглядеть идеально.Но это то, что я получаю

enter image description here

sideMenuVC должен быть только 80%, но он выглядит в полном размере на iPhone 5s

вsideMenuVC viewDidLoad Я хочу установить что-то вроде этого

class SideMenuVC: UIViewController {

    @IBOutlet var sideMenu: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()
        sideMenu.frame.width = self.view.frame.width / 2
       }
}

, но это не работает, поскольку это свойство get only

, поэтому я хочу изменить ширину здесь enter image description here

1 Ответ

0 голосов
/ 29 сентября 2018

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

  1. , ведущий к superview с помощьюпостоянное значение 0
  2. сверху до superview с постоянным значением 0
  3. снизу до superview с постоянным значением 0
  4. ширина равна superviewсо значением множителя 4: 5

Также необходимо установить цвет фона свойства view по умолчанию UIViewController .clear.

Наконец,установить стиль представления только что созданного UIViewController на Over Current Context.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...