Внутри 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 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)
Левая часть оператора мутации не является изменяемой: свойство 'height' доступно только для получения
//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:())'