gpt4 book ai didi

ios - 如何使用 Profile Img 制作可扩展的 TableView?

转载 作者:搜寻专家 更新时间:2023-10-31 22:07:43 24 4
gpt4 key购买 nike

我试图使用 SWRevealViewController 创建侧滑菜单但我无法执行可扩展的 TableView 和带有图像 + 你​​好,姓名的配置文件...

what i need

我所能做的就是:

what i already done

基本上,您如何制作可扩展的 TableView 和配置文件。

有没有例子说明如何做到这一点?

最佳答案

据我所知,您想要一个可扩展的表格 View ,:单击表格中的一行,将出现更多选项。

我过去使用以下方法实现了这一目标:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

if let cell = tableView.cellForRowAtIndexPath(indexPath) as? OuterCell{

if let object = data[indexPath.row] as? OuterObject{
if(object.open == false){
data.insert(InnerObject(content: object.innerContent), atIndex: indexPath.row + 1)
tableView.beginUpdates()
tableView.insertRowsAtIndexPaths([NSIndexPath(forRow: indexPath.row + 1, inSection: 0)], withRowAnimation: .Left)
tableView.endUpdates()
}else{
data.removeAtIndex(indexPath.row + 1)
tableView.beginUpdates()
tableView.deleteRowsAtIndexPaths([NSIndexPath(forRow: indexPath.row + 1, inSection: 0)], withRowAnimation: .Left)
tableView.endUpdates()
}
object.open = !object.open
}
}
}

基本上,这里发生的是 TableView 的 dataSource,在此示例中由 data 数组表示。这就是您连接到所有 TableViewDelegate Hook 的内容。

在数据数组中,我持有两种类型的对象,OuterObjectInnerObject

OuterObject 包含它包含的内部对象的所有信息,如果您单击它,它会动态地将其子项添加到数据数组中。

示例数据(我使用的是 JSON,因为它易于阅读和理解,您必须快速表示)

[
{
name="Ensino",
type="outerObject",
open=true
childObjects=[
{
name="Servico",
type="innerObject"
},
{
name="Avaliacao",
type="innerObject"
}
]
},
{
name="Pesquisa",
type="outerObject",
open=false
childObjects=[]
}
]

因此,在您的情况下,您需要一个“Ensino”对象,其子属性包含以下数据:Avaliaco、Servicos 等...

Outer Object 也保持它是打开还是关闭的状态,这样如果你再次点击它,你可以知道删除所有属于它的内部对象。

在此示例中,我已将 OuterObject 硬编码为始终最多有一个子对象,您必须修改代码以更智能地根据外部对象的子对象数量来确定单击时插入/删除的对象数量您点击的对象有。

通过调用 tableView.beginUpdates()tableView.beginUpdates()tableView.insertRowsAtIndexPaths(),您将访问将允许在更新数据时发生动画转换。

解决这个问题的关键是创建一个智能数据源,然后利用 Apple 在 UITableView 中的方法来实现它。

如果您需要更多帮助,请告诉我,这是一个高级 TableView 主题。

关于ios - 如何使用 Profile Img 制作可扩展的 TableView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31822741/

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