Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- class DetailViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
- @IBOutlet weak var scroll: UIScrollView!
- @IBOutlet var recipesImageView: UIImageView!
- @IBOutlet var tableView:UITableView!
- @IBOutlet var tableView2: UITableView!
- var recipes:Recipe!
- var noodles:Recipe!
- var snacks:Recipe!
- var category: Int = Int()
- @IBAction func segmented(sender: AnyObject) {
- switch sender.selectedSegmentIndex {
- case 0:
- scroll.setContentOffset(CGPoint(x:0, y:0), animated: true)
- case 1:
- scroll.setContentOffset(CGPoint(x:375, y:0), animated: true)
- case 2:
- scroll.setContentOffset(CGPoint(x:750, y:0), animated: true)
- case 3:
- scroll.setContentOffset(CGPoint(x:1125, y:0), animated: true)
- default:
- print()
- }
- }
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view.
- switch self.category {
- case 0:
- self.recipesImageView.image = UIImage(named: recipes.image)
- title = self.recipes.name
- case 1:
- self.recipesImageView.image = UIImage(named: noodles.image)
- title = self.noodles.name
- case 2:
- self.recipesImageView.image = UIImage(named: snacks.image)
- title = self.snacks.name
- case 3:
- self.recipesImageView.image = UIImage(named: noodles.image)
- title = self.noodles.name
- case 4:
- self.recipesImageView.image = UIImage(named: noodles.image)
- title = self.noodles.name
- default:
- self.recipesImageView.image = UIImage(named: recipes.image)
- title = self.recipes.name
- }
- self.tableView.backgroundColor = UIColor(red: 240.0/255.0, green: 240.0/255.0, blue: 240.0/255.0, alpha: 0.5)
- //刪除多餘的隔線
- self.tableView.tableFooterView = UIView(frame: CGRectZero)
- self.tableView.separatorColor = UIColor(red: 240.0/255.0, green: 240.0/255.0, blue: 240.0/255.0, alpha: 1)
- //title = self.recipes.name
- tableView.estimatedRowHeight = 36.0;
- tableView.rowHeight = UITableViewAutomaticDimension;
- self.tableView.delegate = self
- self.tableView.dataSource = self
- self.tableView2.delegate = self
- self.tableView2.dataSource = self
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- var cellNum:Int?
- if tableView == self.tableView {
- cellNum = 4
- }
- else if tableView == self.tableView2 {
- cellNum = 1
- }
- return cellNum!
- }
- func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- if(tableView == self.tableView) {
- let cell: DetailTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! DetailTableViewCell
- //cell.backgroundColor = UIColor.clearColor()
- if self.category == 0 {
- switch indexPath.row {
- case 0:
- cell.fieldLabel.text = "名稱"
- cell.valueLabel.text = recipes.name
- cell.amountLabel.text = ""
- case 1:
- cell.fieldLabel.text = "類型"
- cell.valueLabel.text = recipes.type
- cell.amountLabel.text = ""
- case 2:
- cell.fieldLabel.text = "收藏"
- cell.valueLabel.text = (recipes.isFavor) ? "Yes" : "No"
- cell.amountLabel.text = ""
- case 3:
- cell.fieldLabel.text = "食材"
- cell.valueLabel.text = recipes.material
- cell.amountLabel.text = recipes.amount
- default:
- cell.fieldLabel.text = ""
- cell.valueLabel.text = ""
- cell.amountLabel.text = ""
- }
- }
- if self.category == 1 {
- switch indexPath.row {
- case 0:
- cell.fieldLabel.text = "名稱"
- cell.valueLabel.text = noodles.name
- cell.amountLabel.text = ""
- case 1:
- cell.fieldLabel.text = "類型"
- cell.valueLabel.text = noodles.type
- cell.amountLabel.text = ""
- case 2:
- cell.fieldLabel.text = "收藏"
- cell.valueLabel.text = (noodles.isFavor) ? "Yes" : "No"
- cell.amountLabel.text = ""
- case 3:
- cell.fieldLabel.text = "食材"
- cell.valueLabel.text = noodles.material
- cell.amountLabel.text = noodles.amount
- default:
- cell.fieldLabel.text = ""
- cell.valueLabel.text = ""
- cell.amountLabel.text = ""
- }
- }
- if self.category == 2 {
- switch indexPath.row {
- case 0:
- cell.fieldLabel.text = "名稱"
- cell.valueLabel.text = snacks.name
- cell.amountLabel.text = ""
- case 1:
- cell.fieldLabel.text = "類型"
- cell.valueLabel.text = snacks.type
- cell.amountLabel.text = ""
- case 2:
- cell.fieldLabel.text = "收藏"
- cell.valueLabel.text = (snacks.isFavor) ? "Yes" : "No"
- cell.amountLabel.text = ""
- case 3:
- cell.fieldLabel.text = "食材"
- cell.valueLabel.text = snacks.material
- cell.amountLabel.text = snacks.amount
- default:
- cell.fieldLabel.text = ""
- cell.valueLabel.text = ""
- cell.amountLabel.text = ""
- }
- }
- if self.category == 3 {
- switch indexPath.row {
- case 0:
- cell.fieldLabel.text = "名稱"
- cell.valueLabel.text = noodles.name
- cell.amountLabel.text = ""
- case 1:
- cell.fieldLabel.text = "類型"
- cell.valueLabel.text = noodles.type
- cell.amountLabel.text = ""
- case 2:
- cell.fieldLabel.text = "收藏"
- cell.valueLabel.text = (noodles.isFavor) ? "Yes" : "No"
- cell.amountLabel.text = ""
- case 3:
- cell.fieldLabel.text = "食材"
- cell.valueLabel.text = noodles.material
- cell.amountLabel.text = noodles.amount
- default:
- cell.fieldLabel.text = ""
- cell.valueLabel.text = ""
- cell.amountLabel.text = ""
- }
- }
- if self.category == 4 {
- switch indexPath.row {
- case 0:
- cell.fieldLabel.text = "名稱"
- cell.valueLabel.text = noodles.name
- cell.amountLabel.text = ""
- case 1:
- cell.fieldLabel.text = "類型"
- cell.valueLabel.text = noodles.type
- cell.amountLabel.text = ""
- case 2:
- cell.fieldLabel.text = "收藏"
- cell.valueLabel.text = (noodles.isFavor) ? "Yes" : "No"
- cell.amountLabel.text = ""
- case 3:
- cell.fieldLabel.text = "食材"
- cell.valueLabel.text = noodles.material
- cell.amountLabel.text = noodles.amount
- default:
- cell.fieldLabel.text = ""
- cell.valueLabel.text = ""
- cell.amountLabel.text = ""
- }
- }
- return cell
- }
- else if tableView == tableView2 {
- let cell: MaterialDetailTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell2") as! MaterialDetailTableViewCell
- //cell.backgroundColor = UIColor.clearColor()
- if self.category == 0 {
- switch indexPath.row {
- case 0:
- cell.materialLabel.text = recipes.material
- default:
- cell.materialLabel.text = ""
- }
- }
- if self.category == 1 {
- switch indexPath.row {
- case 0:
- cell.materialLabel.text = noodles.material
- default:
- cell.materialLabel.text = ""
- }
- }
- if self.category == 2 {
- switch indexPath.row {
- case 0:
- cell.materialLabel.text = snacks.material
- default:
- cell.materialLabel.text = ""
- }
- }
- if self.category == 3 {
- switch indexPath.row {
- case 0:
- cell.materialLabel.text = noodles.material
- default:
- cell.materialLabel.text = ""
- }
- }
- if self.category == 4 {
- switch indexPath.row {
- case 0:
- cell.materialLabel.text = noodles.material
- default:
- cell.materialLabel.text = ""
- }
- }
- return cell
- }
- //-----------------------this line appear error
- }
- //避免被前面一頁的隱藏導覽列所影響
- override func viewWillAppear(animated: Bool) {
- super.viewWillAppear(animated)
- self.navigationController?.hidesBarsOnSwipe = false
- self.navigationController?.setNavigationBarHidden(false, animated: true)
- }
- /*
- // MARK: - Navigation
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
- }
- */
- func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- if(tableView == self.tableView) {
- //returning cell correctly
- } else if tableView == tableView2 {
- //returning cell correctly
- }
- //you need to return something here too
- }
- if tableView == self.tableView {
- // blah blah blah
- return some stuff
- } else if tableView == tableView2 {
- // blah blah blah
- return some stuff
- }
- func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- if(tableView == self.tableView) {
- let cell: DetailTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! DetailTableViewCell
- //Some code for cell
- return cell
- }
- else if tableView == tableView2 {
- let cell: MaterialDetailTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell2") as! MaterialDetailTableViewCell
- //Some code for cell
- return cell
- }
- //--> Compiler Says: What should I do if both are false. I need to return cell anyways. Please guide me.!!!!
- //--> Solution : Return Cell from here as well
- }
- if tableView == self.tableView {
- // ...
- } else if tableView == tableView2 {
- // ...
- } else {
- fatalError("💥 Unexpected behaviour: only 2 tables are supported")
- // Or any other assertion...
- }
- return UITableViewCell()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement