从UITableVIewController创建自己的类

时间:2012-11-10 21:25:28

标签: objective-c ios xcode uitableview

我有自己的类,它是从UITableViewController扩展而来的 在此行之后
MyClass * obj = [[MyClass alloc] init];
我有 obj.view.frame.orign.y = 20

在我通过导航控制器推送这个自定义视图后 - 我在viewDidAppear中检查y坐标,它变为0 太奇怪了

为什么?是因为我的自定义表视图位于状态栏下方,其高度为20?
或其他 如果是因为状态栏,为什么我可以在(0,0)中创建UIButton并在状态栏下面创建?

1 个答案:

答案 0 :(得分:0)

您看到的行为是正常的:
- 首先创建视图控制器,它没有附加到视图层次结构,默认情况下它将坐标视为根控制器,y = 20,因为状态栏
- 然后按下视图控制器,调整大小以适应导航控制器,帧坐标是相对于父帧的坐标,即y = 0是导航控制器的顶部,相当于y = 20在主窗口中。 pushViewController调整框架大小,请参阅文档http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html

  

视图会自动调整大小以适合导航栏   和工具栏(如果存在)在显示之前。