iPhone:如何设置UIViewController框架?
我有一个根UIViewController,我添加其他UIViewController作为子视图。 目前,每个子视图都太低了(覆盖了我的自定义生成选项卡)。 当我尝试如下这样的东西时,它不起作用:
// Test setting frame size to see if it works self.view.frame = CGRectMake(0, 0, 200, 200);
这没有什么改变框架的大小。
所以,我的问题是,如何设置我的框架UIViewController被初始化后,它被添加为子视图?
@Nic我想当你添加其他视图时,你应该定义其他视图的框架大小是这样的:
Someviewcontroller *c = initWithNibName c.view.frame = CGRectMake(0, 0, 200, 200); [self addSubView:c];
我不知道这是否会工作,但它是这样的。
首先,确保你的框架实际上没有改变大小。 可能它/正在改变大小,但你期待它剪辑它的内容; 这个行为在UIView中是默认不启用的,需要通过以下方法设置:
[[self view] setClipsToBounds:YES];
要仔细检查并确保您的框架在设置新框架后不会更改大小,请尝试logging此:
NSLog(@"New frame is: %@", NSStringFromCGRect([[self view] frame]));
或者简单地在更改后设置断点并在debugging器中检查该值。
那么总是…
// Screen, less StatusBar CGRect l_RectFrame = [UIScreen mainScreen].applicationFrame;
要么…
// Entire Screen CGRect l_RectFrame = [UIScreen mainScreen].bounds; MyView *l_aView = [[MyView alloc] initWithFrame:l_RectFrame]; ...