你好,我試圖用的UITableView,我加入viewDidLoad方法一個搜索欄,如下所示: 的UITableView,搜索欄和部分指數
我的問題是:
1可以推低指數欄,以便它不包括搜索欄
2-是POSS IBLE到在viewDidLoad方法整個的tableView滾動到隱藏搜索欄應用程序
你好,我試圖用的UITableView,我加入viewDidLoad方法一個搜索欄,如下所示: 的UITableView,搜索欄和部分指數
我的問題是:
1可以推低指數欄,以便它不包括搜索欄
2-是POSS IBLE到在viewDidLoad方法整個的tableView滾動到隱藏搜索欄應用程序
我不知道這是否是實現這一目標的最簡單的方法,但它工作的啓動。
第一件事就是不將搜索欄添加爲標題視圖,而是將其添加到單獨的滾動視圖中。像這樣的東西(利潤率ilustratory僅供參考):淡藍色是底層滾動視圖
此,自動修復問題#1 - 索引欄現在是搜索欄下。
因爲這個嵌套的滾動視圖(表視圖是滾動視圖的子類),如果我們希望有一個平滑滾動的經驗,我們需要繼承UIScrollView
像現在:
class InnerScrollView: UIScrollView {
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer,
shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
}
和使用這個類作爲我們的底層滾動視圖 - 無論是在代碼中,還是通過在Interface Builder中設置它。這使得當用戶滾動時,搜索欄將首先出現/消失,然後表格視圖內容將平滑滾動。
至於初始偏移量,這將需要在viewDidLayoutSubviews
中完成,因爲這是您可以確定已經設置了滾動視圖的第一個位置。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
let initalContentOffset = CGPoint(x: 0, y:self.tableView.frame.origin.y)
self.underlyingScrollView.contentOffset = initalContentOffset
}
讓我知道是否有什麼不清楚。
這可能有助於http://stackoverflow.com/a/39388169/2033377 –