繁体   English   中英

如何通过基于选项卡的视图控制器快速管理5种不同的表视图(和详细视图)?

How to manage 5 different table views (and detail views) from a tab-based view controller in swift?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

换句话说,我正在寻找如何使用基于5标签的基于标签的视图控制器,当我触摸一个标签时,将带到表格视图-静态数组-然后将具有详细信息视图控制器。

因此,选项卡表视图详细视图。

我是新手,所以我确定如何正确地表达这句话,但是我想知道如何使用标签管理/向我的项目添加多个表视图。 我已经注册了在线iOS快速课程,但它们仅涉及单视图应用程序。 任何帮助或参考将不胜感激。

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var tableView: UITableView!

var taskArray:[TaskModel] = []


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.


    let task1 = TaskModel(task: "Study French", subTask: "Verbs", date: "04/14/2014")
    let task2 = TaskModel(task: "Eat Dinner", subTask: "Burgers", date: "01/14/2014")


    taskArray = [task1, task2, TaskModel(task: "Gym", subTask: "Leg Day", date: "01/14/2014")]

    tableView.reloadData()

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.

}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    if segue.identifier == "showTaskDetail" {
        let detailVC: TaskDetailViewController = segue.destinationViewController as TaskDetailViewController
        let indexPath =  self.tableView.indexPathForSelectedRow()
        let thisTask = taskArray[indexPath!.row]
        detailVC.detailTaskModel = thisTask
    }


}

//UITableViewDataSource
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return taskArray.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let task = taskArray [indexPath.row]
    var cell: TaskCell = tableView.dequeueReusableCellWithIdentifier("myCell") as TaskCell

    cell.taskLabel.text = task.task
    cell.descriptionLabel.text = task.subTask
    cell.dateLabel.text = task.date

    return cell
}
//UITableViewDelegate

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

    performSegueWithIdentifier("showTaskDetail", sender: self)

}
1 个回复

我认为您需要先分开考虑。

UITabController具有viewControllers UITabController中关联的每个UIViewController都可以拥有自己的实现文件和接口。 在那里,您可以添加UITableView并符合UITableViewDelegate

如果要对一个UIViewController使用多个UITableView,则最好使用其相应的XIB文件和实现文件创建自定义控件,然后将其加载到UIViewController中。 这样,您可以抽象和清除它们之间的代码。 还要检查IBDesignable和IBInspectable。

您可能需要在它们之间共享数据,如果需要对特定的引用执行操作,则可以通过包含表视图控件的UIViewController传递它们,或者创建一个Repository来提供数据。

1 如何使基于选项卡的应用程序的主页成为表视图控制器

我正在 Swift 中制作故事板。 我的应用程序的主页是评论提要(请参阅第一张图片--线框),我需要将其作为表视图控制器,以便显示提要数据。 但是,当我尝试将标签栏添加到我的表视图控制器(参见第二张图片-故事板)时,它被放置在原型单元格和原型内容之间。 我也尝试将表格视图添加到主屏幕,但 Swift ...

2 在表视图控制器的详细视图之间导航

所以我有一个UITableView,当选择一个单元格时,它可以导航到详细信息视图。 每个单元格及其详细视图都会根据选择的单元格来传递不同的数据。 在情节提要上,它是一个带有文本标签的通用详细信息视图和一个从数组加载数据的图像视图。 我想做的是从当前详细信息视图导航到下一个详细信息视图( ...

4 从表视图转到xcode中的其他详细信息视图

我是一个初学者。 我有一个问题。 我的应用程序中目前有一个表格视图。 它分为三行:历史,理论和应用使用。 我希望每个人都去不同的细节视图。 但是,每个人仅单击到详细视图之一。 我认为问题出在 请帮忙。 三个XIB是Magnets_AU_Aubrey,Magnets_Hi ...

5 使用Xcode故事板创建主-主视图,其中“主视图”视图是“标签栏”到三个不同的视图

我正在尝试实现主从场景,在该场景中可以将详细信息场景显示为三个不同的场景。 这个例子是一个故事列表,对于每个故事,我有兴趣介绍一下简介,作者信息和评论。 因此,场景如下: 主场景:故事列表 选择故事后: 详细信息-简介场景(关于所选故事) 详细信息-作者场 ...

7 视图控制器中的两个表视图:Swift

我有一个带有原型单元的UITableView ,它实际上占据了整个页面。 我在最底部有一个UIButton ,在点击时应显示一个弹出的静态UITableView 。 我正在努力考虑cellForRowAtIndexPath的弹出表视图。 我在return result出错,在Vari ...

9 如何根据表视图单元格的详细文本标签,将segue设置为与表视图控制器不同的视图控制器?

我才刚开始学习Objective-C和程序设计,而我确实对这个问题感到困惑。 我正在使用情节提要创建一个可保留不同类型游戏得分的应用程序。 我有一个主视图控制器,它是一个表视图,它具有带有详细标签的原型单元。 有一个AddKeeperViewController ,允许用户输入玩家名称和游 ...

10 快速地将具有分层表视图的导航控制器放入视图控制器中

我正在制作一个iPad应用程序,该应用程序需要使用表格视图的“向下钻取”样式集,以便用户将元素添加到列表中(即,用户点击表格视图单元格,它会像您一样显示更多详细信息或选项将在设置中看到)。 我的问题是,除了其他内容外,我还需要能够将此表视图放置在视图控制器内部。 我可以添加一个表格视图,但是 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM