我理解模态视图覆盖了整个屏幕。但我真的想要的视图只能覆盖屏幕的一半,就像键盘一样。所以,请告诉我为什么这不起作用
MyController *controller = [[MyController alloc] initWithNibName:@"MyView" bundle:nil];
CGRect frame = CGRectMake(0,44,768,264);
[controller view].frame = frame;
contoller.delegate = self;
[[self view] addSubView:[controller view]];
[controller release];
我正在尝试将子视图添加到当前视图中,并使其显示在键盘出现的位置。
它会抛出一个BAD ACCESS异常
答案 0 :(得分:0)
在我的代码(上面)中,我使用了自定义的UIViewController和它自己的视图[在IB上设置为UIView]。我无法通过为视图控制器的视图设置框架来使其工作。
所以我添加了一个没有Nib文件的自定义UIView,并在initWithFrame上添加了所有控件(按钮,文本字段)。
MyCustomView = [[MyCustomView] alloc] initWithFrame:frame delegate:self];
[self.view addSubView:MyCustomView];
感谢您的评论,Jacob。