ios - 更新静态 tableView 的滚动

标签 ios swift uitableview uiscrollview

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

我已经尝试过 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)
}

}

最佳答案

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

关于ios - 更新静态 tableView 的滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36368535/

相关文章:

ios - 在没有动画的 UISearchController 上强制结束编辑

ios - UIAlertView exclusiveTouch 按钮 iOS8

swift - 通过 GUI 获取 sudo 询问密码

ios - 键盘阻塞 UITableViewCell 的 UITextField?

ios - Xcode5 Google Admob sdk 链接器命令失败,退出代码为 1

iphone - 我应该使用什么设备来测试iPhone应用程序

swift - 如何在 switch 语句中转至特定情况

ios - 如何仅在 swiftUI 中将拖动手势限制到特定帧

iOS 10,UIToolbar 背景色不变

ios - UITableViewCell 重用自定义 UIView 作为组件导致 "caching"问题