【发布时间】:2016-03-28 17:40:42
【问题描述】:
我有 5 个集合视图单元,名称分别为“Resturants”、“shops”、“Medical”、“parlor”、“parks”等。所以现在我设置了 10 个视图控制器,我在每个 5 个控制器中放置了表格视图,我正在调用 json 数据并在表格视图中显示。我还有一个自定义单元格,用于所有 iew controlelr 表格视图
就像说,如果用户按下 Restaurant,我将重定向到一个视图 controlellr。我已经调用了 `baseurl/category_01 的 webservies。因此,我将从这个 url 获取名称、地址、图像,并将显示在我的表格视图中
但我知道这是错误的做法。如果我有 20 个集合视图单元格。那么如果我用 20 个表视图创建 20 个视图控制器,那就不好了。
这是我在 swift 2.0 中的第一个应用程序。
任何人都可以建议我对我的所有 10 个集合视图数据单元格使用带有一个表视图的单视图控制器吗?
但是我的集合视图单元格数据中的一件事是我从一个 json url 获取。因为每个数据都被指定为一个类别 id.Like:
[
{
category_id : 0
category_name : Restaurant
},
{
category_id : 1
category_name : park
},
{
category_id : 2
category_name : shops
},
{
category_id : 3
category_name : medical
},
]
像明智的 10 个单元格数据一样,我将在表格视图中显示。因此,当我将一个视图控制器与一个表格视图一起使用时,我需要提及,`indespath.row 按下并且应该等于我的类别 ID 并且应该显示相关数据。
现在我在collectionviewcontroller.swift 中使用的是。我只是按下了哪个索引路径行,我只是导航到另一个视图控制器
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
// You can use indexPath to get "cell number x", or get the cell like:
let cell = collectionView.cellForItemAtIndexPath(indexPath)
if((indexPath.row) == 0) {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc: ViewController2 = storyboard.instantiateViewControllerWithIdentifier("ViewController2") as! ViewController2
self.presentViewController(vc, animated: true, completion: nil)
print("Layout 1 clicked")
}
else if((indexPath.row) == 1) {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc: ViewController3Bank = storyboard.instantiateViewControllerWithIdentifier("ViewController3Bank") as! ViewController3Bank
self.presentViewController(vc, animated: true, completion: nil)
print("Layout 2 clicked")
}
那么如何使用单个 viewcontrolel1r 表视图来做到这一点..请帮帮我..
谢谢
【问题讨论】:
-
您应该重用 tableview 并在必要时随时填充相关数据。
-
是的,但是我没有看到任何教程和任何 git hub 演示项目。我是 ios 的初学者。我需要在我的第一个应用程序中实现。但不能这样做!
-
如果可能的话,您能否建议一些演示或教程链接,或者在表格视图中 indexpath menthod 的单元格行中解释一些代码
标签: ios swift uitableview uicollectionview