【问题标题】:Changing rootviews view type in an iOS app在 iOS 应用程序中更改 rootviews 视图类型
【发布时间】:2011-07-11 12:00:18
【问题描述】:

在创建基于导航的应用程序时,它会自动创建一个根视图控制器,它是 UITableViewController 的子类,但在 MainWindow.xib 中,正如您所知,我看不到 UITableView 放置在根视图控制器下,但我们拖动并在那里放一个表格视图。我们是否可以简单地拖放 UIView 而不是 UITableView 并将根视图控制器类更改为子类 uiview 而不是 UITableView 并更改其方法?

或者我必须在 IB 中为根视图控制器拖一个UITableView?我是初学者,我不想做复杂的事情,那么使用UIView 作为根的最简单方法是什么。如果那不简单,我会坚持使用表格视图。

【问题讨论】:

    标签: objective-c ios uinavigationcontroller nib


    【解决方案1】:

    是的,你可以改变。您只需要更改接口构建器中的一些绑定并将 rootViewController 的超类更改为 UIViewController 而不是 UITableViewController。

    更新

    首先打开 rootViewController.xib 并从那里删除 tableiew 并拖放一个 UIView。将该视图绑定到文件所有者中的视图属性。将 rootViewController 的超类从 UITableViewController 更改为 UIViewController。就是这样。

    这里是截图。

    【讨论】:

    • 谢谢!现在它可以工作了,但是当我打开 mainwinwdow.xib 并在 rootview 控制器下查看时,我看不到我的新视图对象,我将从那里设置和添加导航项以及导航控制工具栏。我该怎么做呢
    • 新视图对象不会出现在 rootViewController xib 中。你不理解这个概念。如果你想添加导航项。您需要在 rootViewController 的类中添加代码。
    • tnx 是的,我不明白这个概念,如果我没有将它从 uitable 更改为 uiview,我可以从 mainwindow.xib 添加,但现在我不能,这是什么原因?为什么我可以在 mainwindow.xib 中看到该视图?
    • 当您从 IB 设计视图时。我会告诉你这个秘密。假设您要创建的视图将由导航控制器推送。所以将该视图的高度设为 416。480 - 20(状态栏)-44(导航栏)。此外,要更改高度,您需要通过更改其属性从视图中删除状态栏。这样,您将获得与您设计的完全相同的输出。
    • 主窗口中的tableView在哪里。?你不应该把任何 tableView 放在那里。事情是这样工作的,你有一个包含视图控制器的导航控制器。因此,在基于导航的模板中,视图控制器的类自动分配为 rootView 控制器,并且 nib 名称也分配给该视图控制器。该视图控制器实际上不包含任何视图。分配给该视图控制器的 nib 保存实际视图。希望你能理解。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多