我正在 Swift 中制作故事板。 我的应用程序的主页是评论提要(请参阅第一张图片--线框),我需要将其作为表视图控制器,以便显示提要数据。 但是,当我尝试将标签栏添加到我的表视图控制器(参见第二张图片-故事板)时,它被放置在原型单元格和原型内容之间。 我也尝试将表格视图添加到主屏幕,但 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)
}
我认为您需要先分开考虑。
UITabController具有viewControllers 。 UITabController中关联的每个UIViewController都可以拥有自己的实现文件和接口。 在那里,您可以添加UITableView并符合UITableViewDelegate 。
如果要对一个UIViewController使用多个UITableView,则最好使用其相应的XIB文件和实现文件创建自定义控件,然后将其加载到UIViewController中。 这样,您可以抽象和清除它们之间的代码。 还要检查IBDesignable和IBInspectable。
您可能需要在它们之间共享数据,如果需要对特定的引用执行操作,则可以通过包含表视图控件的UIViewController传递它们,或者创建一个Repository来提供数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.