2016-04-08 4 views
0

Я создал UIViewControler и для view я установил его Sizeмоделируемой Метрики к Freeform и его размер кадра в 320 x 120.UIViewController от Interface Builder игнорируется

После загрузки его в другом UIViewController как:

MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil]; 

[self addChildViewController:myViewController]; 

[self.scrollViewContent addSubview:myViewController.view]; 

myViewController.view имеет размер 600 x 600. Почему это? Я также устанавливаю его цвет фона красным, и он отображается белым.

настроен правильно MyViewController.

Я не использую Auto Layout.

ответ

0

Очистка проект решил проблему, again -_-

0

Вы пробовали отключить AutoLayout?

+0

Он уже отключен. –

0

Моделируемые показатели предназначены для того, чтобы разработчики могли увидеть, как будет выглядеть их дизайн с нужными кадрами (в вашем случае 320 x 120). Он не отражает во время выполнения приложения. Вы можете установить некоторые AutoLayout ограничения, если вы хотите, чтобы он оставался на 320 х 120.

Что касается цвета фона, вы можете установить его программно с помощью:

myViewController.view.background = [UIColor redColor] 
+0

Whaaat? Ты уверен? Я часто устанавливал рамки UIView '' в 'Interface Builder', и он всегда работал; Мне не нужно было повторно устанавливать его программно. Кроме того, установка цвета фона в коде не объясняет, почему он не работает из 'Interface Builder'. –

+0

Забавно, что я всегда думал, что они не применяются во время работы, так как я узнал его здесь. http://stackoverflow.com/questions/16279379/what-impact-does-simulated-metrics-have и http://asciiwwdc.com/2015/sessions/407. – rach

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