You can set frame programmatically in - (void)viewWillLayoutSubviews
method of your UIViewController
or set up autoresizingMask
property of view.
Set up frame:
- (void)viewWillLayoutSubviews {
if ([UIScreen mainScreen].bounds.size.height == 568) {
self.label.frame = CGRectMake(0, 0, 320, 100); // for iPhone 5
} else {
self.label.frame = CGRectMake(0, 0, 320, 60);
}
}
Or set up autoresizingMask
in - (void)viewDidLoad
:
- (void)viewDidLoad {
[super viewDidLoad];
CGFloat height = self.view.bounds.size.height * 0.2 // 20% of parent view
self.label.frame = CGRectMake(0, 0, 320, height);
self.label.autoresizingMask = UIViewAutoresizingFlexibleHeight;
}