代码之家  ›  专栏  ›  技术社区  ›  Daniel

调整作为iPhone上uinavigationController的一部分的ViewControllers视图的大小

  •  3
  • Daniel  · 技术社区  · 15 年前

    我正在使用uinavigationcontroller处理应用程序中视图控制器的推送和弹出。有一个部分,我有一个选项卡栏(不使用uitabarcontroller),由同一个uinavigationcontroller管理,我只需将uitabar添加到导航控制器视图(使用addsubview)。

    问题: 我有一些uiviewcontrollers,表视图被推入导航堆栈,因为我的选项卡栏是视图的一部分,而不是导航堆栈,所以表视图在底部被切断,因为导航控制器不知道选项卡栏,因为它在视图中而不是导航堆栈中。如果没有导航控制器,我只需调整view controller视图的大小,它就可以正常工作,但是当我尝试这样做时,似乎navigation controller忽略了我的框架并设置了自己的框架,因此表视图被切断。我找到了一个解决方案,那就是添加一些额外的细胞并隐藏它们,这是可行的,但它有点黑客,有人有任何建议,如何以不同的非黑客方式进行这件事吗?

    谢谢

    2 回复  |  直到 15 年前
        1
  •  1
  •   Daniel    15 年前

    好吧,所以我解决了这个问题。我以前曾尝试过调整uiTableView的大小,而不是ViewController,但这不起作用。不过,我刚刚意识到,这不起作用,因为我使用的是一个UITableViewController,它管理自己的TableView,并且不允许我更改它的框架(也许我在错误的地方更改了它,在viewdidload中尝试过,我敢打赌,如果我在调用[super viewdidload]之后更改了它,它会起作用的……好吧)。所以我将类改为uiviewcontroller,并在那里管理表视图,现在它工作得很好,谢谢您的回复。

        2
  •  0
  •   Corey Floyd    15 年前

    尝试将根视图设置为具有子视图的uiTableView的uiView。然后将uitabar添加到uiview实例。现在,uiTableView将不知道uinavigationController。