Ios 更新静态表视图的滚动
我正在尝试获取uitableview的滚动视图,该视图是静态的,可以更新。我有一个容器视图,可以更改大小,并且可以工作,但是我无法获取要更新的滚动区域 我试过setNeedsDisplay和setNeedsLayout,但没有成功 有什么想法吗Ios 更新静态表视图的滚动,ios,swift,uitableview,uiscrollview,Ios,Swift,Uitableview,Uiscrollview,我正在尝试获取uitableview的滚动视图,该视图是静态的,可以更新。我有一个容器视图,可以更改大小,并且可以工作,但是我无法获取要更新的滚动区域 我试过setNeedsDisplay和setNeedsLayout,但没有成功 有什么想法吗 class TimeAwayRequestTableViewController: UITableViewController { var originalHeight : CGFloat! @IBOutlet var selectedDate :
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)
}
}
如果我了解问题的性质,您需要在更改内容时更新
UIScrollView
的contentSize
属性。如果我了解您问题的性质,您需要在更改内容时更新UIScrollView
的contentSize
属性