【问题标题】:Updating Scrolling of a static tableView更新静态 tableView 的滚动
【发布时间】:2016-04-02 02:34:45
【问题描述】:

我正在尝试获取静态的 uitableview 的滚动视图以进行更新,我有一个可以更改大小的容器视图,并且可以正常工作,但是我无法更新可滚动区域。

我尝试了 setNeedsDisplay 和 setNeedsLayout,但没有成功。

有什么想法吗?

class TimeAwayRequestTableViewController: UITableViewController {

var originalHeight : CGFloat!

@IBOutlet var selectedDate : UIView!

@IBOutlet var calendarView: CalendarView!

override func viewDidLoad() {
    super.viewDidLoad()

    originalHeight = self.tableView.contentSize.height

    calendarView.delegate = self

    self.selectedDate.frame.size.height = CGFloat(SelectedDatesTimeAway.selectedDates.count * 44)
}

override func preferredContentSizeDidChangeForChildContentContainer(container: UIContentContainer) {
    self.selectedDate.frame.size.height = CGFloat(SelectedDatesTimeAway.selectedDates.count * 44)
    self.tableView.contentSize.height = self.originalHeight + self.selectedDate.frame.size.height
    self.tableView.setNeedsDisplay()
    self.tableView.setNeedsLayout()
}

}

extension TimeAwayRequestTableViewController : CalendarViewDelegate {

func calendarDidSelectDate(date: Moment) {
    let theDate = date.date
    SelectedDatesTimeAway.selectedDates.append(theDate)
    print(SelectedDatesTimeAway.selectedDates.count)
    let tbc = self.childViewControllers[0] as! UITableViewController
    tbc.preferredContentSize.height = CGFloat ( SelectedDatesTimeAway.selectedDates.count * 44 )
    print(tbc.preferredContentSize.height)
    tbc.tableView.reloadData()
}

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

}

【问题讨论】:

    标签: ios swift uitableview uiscrollview


    【解决方案1】:

    如果我了解您的问题的性质,您需要在更改内容时更新您的UIScrollViewcontentSize 属性。

    【讨论】:

      猜你喜欢
      • 2017-07-08
      • 1970-01-01
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      相关资源
      最近更新 更多