2013-04-09 1 views
0

У меня есть контейнер ViewController, который 400 на iphone5. Когда я использую его на iphone4, он выдавливает представление, подобное тому, что он делает. В этом случае я хочу, чтобы представление отображалось на всех телефонах одинакового размера.Размер контейнеров ViewController UIView

vc.h

@property (strong, nonatomic) IBOutlet UIView *viewForContainer; 

vc.m

@synthesize viewForContainer 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    CGRect rect = [viewForContainer frame]; 
    rect.size.height = 400; 
    [viewForContainer setFrame:rect]; 
} 

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

+0

Если вы используете автоматическую компоновку, она будет работать, если вы дадите представление высотой 400, и у вас есть ограничения по сторонам и верхней части представления, но не по низу. – rdelmar

ответ

1

Короткий ответ:

Выберите вид и выберите Редактор> Pin> Рост. Теперь избавьтесь от ненужного нижнего ограничения.

Длинный ответ:

Вы действительно должны остановить все, что вы делаете, и понять, что вы делаете - в частности, о autolayout. Это повсюду, по умолчанию, нравится нам это или нет, так что вы можете также об этом знать.

+0

Спасибо. У вас нет времени для тезисов с длинным ответом. – Andrew

+1

А, да, настоящая жизнь; Я слышал об этом. Ну, когда у вас есть время, всегда есть моя книга: вот раздел об ограничениях в nib - http://www.apeth.com/iOSBook/ch14.html#_constraints_in_the_nib – matt

+0

Прохладный. Я только что установил все, что касается кнопок по отношению к вершине, так что на 5 есть пробел между последней строкой и кнопками. Я мог бы взглянуть на лучшую компоновку, когда есть время. Спасибо, матовый. – Andrew