multiple tableView reloadData()

时间:2016-04-01 04:28:09

标签: ios swift uitableview

我在Static tableview中有一个动态tableview,但是在我的第二个tableview上调用它时,我无法获得reloadData来调用cellForRowAtIndexPath。有没有办法在第二个tableview中填充Cell数据?或者有更好的方法吗?我附上了一个视觉效果,看看是否有帮助。enter image description here

这是我现在的代码:

import UIKit
import CalendarView
import SwiftMoment

class TimeAwayRequestTableViewController: UITableViewController {

@IBOutlet var calendarView: CalendarView!
@IBOutlet weak var selectedTableView: UITableView!

var selectedDates : [Moment] = []

override func viewDidLoad() {
    super.viewDidLoad()

    calendarView.delegate = self

    selectedTableView.delegate = self
    selectedTableView.dataSource = self
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    var returnInt = 0
    if tableView == selectedTableView {
        returnInt = 10
    } else {
        if section == 0 {
            returnInt = 2
        }
        if section == 1 {
            returnInt = 1
        }
    }


    return returnInt
}

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    var numberOfSections = 0
    if tableView == selectedTableView {
        numberOfSections = 0
    } else {
        numberOfSections = 2
    }

    return numberOfSections
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell = UITableViewCell()

    if tableView == selectedTableView {
        cell = self.tableView.dequeueReusableCellWithIdentifier("dateCell")!
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateStyle = .ShortStyle
        dateFormatter.timeStyle = .NoStyle

        let date = selectedDates[indexPath.row].date

        cell.textLabel?.text = dateFormatter.stringFromDate(date)

    } else {
        cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath)
    }

  return cell
}



}

extension TimeAwayRequestTableViewController : CalendarViewDelegate {

func calendarDidSelectDate(date: Moment) {
    selectedDates.append(date)
    print(selectedDates)

    selectedTableView.frame.size.height = CGFloat(selectedDates.count) * CGFloat(44)

    self.tableView.contentSize.height = self.tableView.frame.size.height + self.selectedTableView.frame.size.height

}

func calendarDidPageToDate(date: Moment) {
    print(date)
}

}

1 个答案:

答案 0 :(得分:-1)

试试这个StaticDataTableViewController

它可以动画隐藏/显示静态单元格。所以可能对您有所帮助。