如何初始化具有initWithCoder:方法的视图

时间:2011-11-11 16:45:08

标签: iphone uiview uiviewcontroller nscoder auto-rotation

我有一个用 - (id)initWithCoder:(NSCoder *)aDecoder初始化的视图 如何在viewController

中初始化此视图

如果我希望使用该设备查看viewController,我认为我需要autoRotate。我不确定,也许我可以完成autoRotation没有viewController

向视图添加观察者和shouldAutorotateToInterfaceOrientation:并未自动旋转视图。但是当我也添加

-(void) orientationChanged:(NSNotification *) notification 
{
    NSLog(@"orientationChanged: %d", [[notification object] orientation]);
} 

我在控制台窗口中获取了方向值。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

initWithCoder:用于管理序列化对象。你永远不会直接打电话。具有initWithCoder:方法的对象应该仍然具有常规指定的初始值设定项(对于视图,它将是initWithFrame:)。但是,一般来说,我建议使用nib文件,而不是尝试手工构建这些东西。它极大地简化了事情,从nib文件加载将调用initWithCoder:

使用视图控制器管理自动旋转要简单得多。这不是必需的,但它确实为你做了一些工作。