我的代碼我的坑(十九) —— 關於tableView索引點擊的自定義滾動問題(一) 版本記錄 前言 問題描述 問題解決 後記

版本記錄

版本號 時間
V1.0 2022.09.25 星期日

前言

做了好幾個APP,碰到了大大小小的很多坑,以前碰到坑,解決了就結束了,這裏想把自己碰到的坑記錄下來,一來給自己備查二來希望可以幫助到大家。感興趣的可以關注下,也歡迎大家補充留言,感興趣的看上面幾篇文章。
1. 我的代碼我的坑(一) —— 自簽名證書導致請求取消的問題(一)
2. 我的代碼我的坑(二) —— UIImageView動畫點擊後動畫和圖片消失的問題(一)
3. 我的代碼我的坑(三) —— iOS9系統WKWebView加載頁面白板的問題(一)
4. 我的代碼我的坑(四) —— iOS12系統自定義漸變色UISwitch手機橫屏的異常問題(一)
5. 我的代碼我的坑(五) —— 不可編輯狀態的UITextView文本高度大於視圖高度默認滾動到底部的問題(一)
6. 我的代碼我的坑(六) —— UITextField輸入長度自動截取時漢字和拼音帶來的末位截取不能正常輸入漢字的問題(一)
7. 我的代碼我的坑(七) —— UIImageView做序列幀動畫結束後沒有回調並且“隱藏”(一)
8. 我的代碼我的坑(八) —— iOS 13.1.2 Debug調試模式系統layoutSubviews中修改frame循環調用導致的崩潰(一)
9. 我的代碼我的坑(九) —— 系統鍵盤拼音全鍵無法正常聯想以及輸入漢字高亮區識別不計入長度計數的問題(一)
10. 我的代碼我的坑(十) —— iOS9 Xib實例化的UITableViewCell中UIButton和UISwitch等控件的IBAction點擊無響應的問題(一)
11. 我的代碼我的坑(十一) —— macOS Mojave 和 xcode 11.1 (11A1027)環境下運行iphonex以上流海屏xcode install時xocde崩潰閃退的問題(一)
12. 我的代碼我的坑(十二) —— iOS10字體DIN Condense Bold字體顯示不全頂部被切割的問題(一)
13. 我的代碼我的坑(十三) —— 狀態欄高度的動態計算(一)
14. 我的代碼我的坑(十四) —— Xcode 12.5中React編譯不過的問題(一)
15. 我的代碼我的坑(十五) —— dispatch_once導致的死鎖的問題(一)
16. 我的代碼我的坑(十六) —— 關於無法驗證包完整性的問題(一)
17. 我的代碼我的坑(十七) —— 關於UniversalLink校驗不通過的問題(一)
18. 我的代碼我的坑(十八) —— 關於UITableView分頁數據滾動到頂部異常的問題(一)

問題描述

我們有時候的需求是給tableview的右側添加索引,如下圖所示:

這裏如果我們點擊右側的索引,就會調用下面的索引方法:

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index{
    NSIntegrer aIndex = 0;
    return aIndex;
}

這裏title返回的值就是右側的索引值,index是點擊的索引在所有索引中的序列。這個方法的返回值就是要返回要滾動到的section索引。但是有時候只有一個section,裏面有很多row,這個時候這個代理方法如果返回0,那麼點擊右側索引就會自動進行滾動到section=0的地方(帶着動畫)。

也就是說只有一個section的時候在這裏沒辦法進行滾動的。


問題解決

前面那個點擊索引回調的代理方法,我們返回-1,一個小於0的數,系統的滾動方法和動畫就失效了。

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index{
    NSInteger characterIndex = 0;//想滾動到的index
    NSIndexPath *selectIndexPath = [NSIndexPath indexPathForRow:characterIndex inSection:0];
    [self.tableView scrollToRowAtIndexPath:selectIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];
    return -1;
}

返回-1,就不會觸發系統的滾動,在裏面可以做自定義的滾動。

後記

本篇主要講述了關於tableView索引點擊的自定義滾動問題,感興趣的給個贊或者關注~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章