更新静态 tableView 的滚动
Posted
技术标签:
【中文标题】更新静态 tableView 的滚动【英文标题】:Updating Scrolling of a static 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)
【问题讨论】:
【参考方案1】:如果我了解您的问题的性质,您需要在更改内容时更新您的UIScrollView
的contentSize
属性。
【讨论】:
以上是关于更新静态 tableView 的滚动的主要内容,如果未能解决你的问题,请参考以下文章
UITableView - reloadRows 方法创建奇怪的滚动错误
UITableViewCell 中的 UIPickerView - 如何选择值而不是滚动 TableView?