gpt4 book ai didi

ios - 如何在 UIView 中嵌入 UITableView?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:41 26 4
gpt4 key购买 nike

我在使用 xib 构建的自定义 View 中有一个 UIView。我需要在上述 View 中显示一个 UITableView。一开始我想的是放置一个container,然后在里面嵌入一个UITableViewController。原来我不能将 containers 放在 xib 文件中,或者至少没有办法从 IB 中做到这一点,因为它没有出现在右下角的 View 部分。

我可以通过编程方式创建一个 UITableView 并将其添加为 View 的 subview 。它按预期显示,但我似乎无法在其中添加单元格。我还尝试创建一个与 storyboard View 关联的表现良好的 UITableViewController,按如下方式实例化该 Controller :

let storyboard = (UIStoryboard(name: "Main", bundle: nil))
让 vc = storyboard.instantiateViewControllerWithIdentifier("tableViewController") 作为!测试 TableView Controller

然后尝试访问 UITableView 的导出,它是 nil。然后我在某处读到我应该执行 vc.loadView() 因为顾名思义,它加载 View 并且我的 IBOutlet 不会是 nil。这奏效了。 socket 的时间更长 nil。但是,当我将表格作为 subview 添加到容器 View 中时,它仍然没有显示任何单元格。只有分隔线但没有内容。我已经没有想法了!

编辑

我没有任何 UITableViewCell 实现,因为表格是静态的。

最佳答案

好的方法是在自定义 View 中使用 UITableview:

如果您以编程方式添加 tableview,则使用 Nib 或 UITableview 子类注册您的单元格

tableView.registerNib(UINib(nibName: "UITableViewCellSubclass", bundle: nil), forCellReuseIdentifier: "UITableViewCellSubclass") 

如果您使用 Xib 创建 UITableviewCell。

tableView.registerClass(UITableViewCellSubclass.self, forCellReuseIdentifier: "UITableViewCellSubclass") // using code.
tableView.delegate = self
tableView.dataSource = self

然后使用 2 个必需的委托(delegate)。

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 2
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return tableView.dequeueReusableCellWithIdentifier("UITableViewCellSubclass", forIndexPath: indexPath) as! UITableViewCellSubclass
}

希望我回答了你的问题。

关于ios - 如何在 UIView 中嵌入 UITableView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41781505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com