2015-05-26 2 views
3

Я хочу, чтобы установить высоту view1 на половину высоты экрана для всех устройств (когда устройство в портретном режиме)Как настроить представление с половиной высоты экрана?

Вот что я хочу, чтобы это выглядело как:

enter image description here

так Я делаю автоматическое расположение высоты view1 в

@IBOutlet weak var heighConstraint: NSLayoutConstraint! 

моей viewwillappear функции здесь:

override func viewWillAppear(animated: Bool) { 
     self. heighConstraint.constant = self.view.frame.size.height/2 
} 

Но это не сработало, когда я запустил приложение. что тут не так?

+0

Что он покажет? Это происходит внутри цикла? – Amit89

+0

показывает высоту view1, которую я настраиваю на главной раскадровке –

+0

Я только что отредактировал свой вопрос, чтобы четко понять. –

ответ

7

Попробуйте изменить постоянное значение heightConstraint в методе viewDidLayoutSubviews.

override func viewDidLayoutSubviews() { 
    heightConstraint.constant = self.view.frame.size.height/2 
} 
+0

Это сработало !!! –

0

Пожалуйста, попробуйте это. Надеюсь, это поможет вам. Нижняя строка примет границы устройства и установит рамку или высоту в соответствии с ней.

view1.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height/2); 

Надеюсь, это поможет !!! Удачи ...

+0

Установка рамки не работает надежно при использовании автоматической компоновки. Вы должны изменить ограничения, как это делает OP. –

7

Я знаю, что принятый ответ правильный, но есть более простой способ сделать это -

Добавить мнение (один показанный в желтом цвете). Подключите его к трем краям (верхний, передний и задний). Я установил его как 0, но изменил его в соответствии с вашими потребностями.

enter image description here

Создать высоту, равную тягот к основному Вид

enter image description here

enter image description here

Открыть это ограничение в окне инспектора и редактировать множитель 0,5. Устанавливая его как 0,5, значение высоты составляет половину высоты mainView.

enter image description here

Просто убедитесь, что FirstItem = View1 и SecondItem = SuperView, как показано на рисунке.

+0

Эй. Это еще один путь к «Риму», и я приму этот метод. Спасибо –

+0

Упоминание не. Альтернативы в Xcode неисчерпаемы! –

Смежные вопросы