Используйте self.view.frame.size.height = 80

и IB у меня есть viewController с segmentedControl и 2 containerViews. В каждом контейнере ViewView у меня есть tableView. Из каждого tableView я нажимаю на detailView. Мой авто макет в IB.

Как только я выбираю сегмент, я вижу соответствующий tableView, я выбираю ячейку, и на сцене появляется правильный detailView.

Проблема заключается в том, что когда detailView помещается в segmentedControl, он все еще остается видимым. Я решил скрыть сегментированный элемент управления, который работает, но там есть большое пустое пространство. Я попытался программно увеличить размер представления detailView, но он не расширяется. Из того, что я прочитал, это потому, что я сделал начальные ограничения в раскадровке.

Как программно получить представление detailView для расширения?

код:

DetailViewController: UIViewController{

override func viewDidLoad() {
        super.viewDidLoad()

 //this isn't increasing the view's size
 self.view.frame.size.height += 20.0

 //doesn't work. I get an error on the last argument
 self.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height += 20.0)

 //doesn't work. I get an error on the last argument
 self.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.size.height += 20.0)
 }

}

Ошибки:

//Error for the last argument- height: *self.view.frame.height += 20.0*
self.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height += 20.0)

Левая часть оператора мутации не является изменяемой: 'высота' является свойством только для получения

//Error for the last argument- *self.view.frame.size.height += 20.0*:
self.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.size.height += 20.0)

Невозможно вызвать инициализатор для типа 'CGRect' со списком аргументов типа '(x: Int, y: Int, width: CGFloat, height: ())'

Ответы на вопрос(4)

Ваш ответ на вопрос