【问题标题】:Change UITableView to UIView in Storyboards在 Storyboard 中将 UITableView 更改为 UIView
【发布时间】:2014-12-21 07:04:13
【问题描述】:

我错误地使用 UITableView 作为 Storyboards 中视图的主控制器,所以现在我想将它从 UITableVie 转换为内部带有 UITableView 的 UIView。

问题是,XCode 并不是我想做的事情的忠实拥护者。在我的 UITableView 控制器中,我将界面从 UITableView 更改为 UIViewController,但 StoryBoard 中仍然没有 bueno。

Storyboard 拒绝让我将 UIView 拖到我的视图中并将 TableView 放入其中。

知道如何在不报废所有内容的情况下做到这一点吗?

谢谢!

【问题讨论】:

  • 首先创建一个由 UIViewController 子类的新类,然后将其场景添加到情节提要中。在其视图中,添加一个 UITableView 小部件并将一个 IBOutlet 附加到 .h 文件中的文件所有者。更多详情请搜索 UITableView 教程。

标签: objective-c xcode storyboard


【解决方案1】:

您可以简单地将 UITableView 从 UITableViewController 复制并粘贴到新的 UIViewController:

然后您需要创建一个新的自定义 UIViewController 类文件(以替换您的 UITableViewController)并复制并粘贴程序化控制功能。您还需要将适当的委托分配给新的 UIViewController <UITableViewDataSource, UITableViewDelegate>。在 viewDidLoad 函数中,您必须将新控制器分配为 UITableView 的委托和数据源。如果不清楚,您可以在网上找到许多教程来解释详细信息。

【讨论】:

  • 太棒了,这样做了,而且效果相对较好,而且没有错误。谢谢!
【解决方案2】:

故事板文件的某些配置只有在以文本格式打开时才能编辑。例如,即使我在 .storyboard 文件中将 ViewController 的类型从 UITableViewController 更改为 UIViewController,并编辑了它的 .h + .m 文件,但 storyboard 中的图标仍然是 tableview 而不是视图 ,而且我仍然无法在表格之外添加项目。

我跟着这个导师,它对我很有效:http://steve.zazeski.com/convert-a-uitableviewcontroller-to-a-uiviewcontroller/

另外,如果你想在你的类的视图中保留tableView,只需创建一个“subviews”标签,然后将tableView的xml代码复制并粘贴到它的body中。它看起来像这样:

<view key="view" contentMode="scaleToFill" id="qrH-Fc-mM8">
                        <rect key="frame" x="0.0" y="0.0" width="1000" height="600"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="BOG-Ip-6do">  *** content of your tableView ***</tableView>
                        </subviews>
                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                </view>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    相关资源
    最近更新 更多