我被告知-(UIView *)view
永远不要覆盖。为什么不?我想为我的自定义使用自定义 UIView 子类UIViewController
。有什么更好的方法呢?
问问题
88 次
2 回答
3
你不应该覆盖-view
. 要完成您想要的行为,您可以设置视图控制器以从 nib 加载,或者您可以覆盖该-loadView
方法。在后一种方法中,您可以创建所需的任何视图并将其分配给self.view
.
于 2012-08-20T21:06:12.780 回答
1
如果您使用的是 nib 或故事板,只需将根视图的类设置为新的自定义UIView
子类。如果您不使用 nib 或情节提要,请在-loadView
方法中创建自定义子类并将视图控制器的view
属性设置为它。因此,例如,如果您有一个UIView
名为 的自定义子类MyView
,并且您在代码中(而不是在 nib 或情节提要中)创建它,您将执行以下操作:
// This code sample assumes compiling with ARC
- (void)loadView
{
// You should adjust the initial frame to be whatever's appropriate for this
// view controller
MyView* view = [[MyView alloc] initWithFrame:CGRectMake(0, 0, 360, 480)];
[self setView:view];
}
于 2012-08-20T21:05:45.373 回答