版本記錄
| 版本號(hào) | 時(shí)間 |
|---|---|
| V1.0 | 2022.09.25 星期日 |
前言
做了好幾個(gè)APP,碰到了大大小小的很多坑,以前碰到坑,解決了就結(jié)束了,這里想把自己碰到的坑記錄下來(lái),一來(lái)給自己備查二來(lái)希望可以幫助到大家。感興趣的可以關(guān)注下,也歡迎大家補(bǔ)充留言,感興趣的看上面幾篇文章。
1. 我的代碼我的坑(一) —— 自簽名證書導(dǎo)致請(qǐng)求取消的問(wèn)題(一)
2. 我的代碼我的坑(二) —— UIImageView動(dòng)畫點(diǎn)擊后動(dòng)畫和圖片消失的問(wèn)題(一)
3. 我的代碼我的坑(三) —— iOS9系統(tǒng)WKWebView加載頁(yè)面白板的問(wèn)題(一)
4. 我的代碼我的坑(四) —— iOS12系統(tǒng)自定義漸變色UISwitch手機(jī)橫屏的異常問(wèn)題(一)
5. 我的代碼我的坑(五) —— 不可編輯狀態(tài)的UITextView文本高度大于視圖高度默認(rèn)滾動(dòng)到底部的問(wèn)題(一)
6. 我的代碼我的坑(六) —— UITextField輸入長(zhǎng)度自動(dòng)截取時(shí)漢字和拼音帶來(lái)的末位截取不能正常輸入漢字的問(wèn)題(一)
7. 我的代碼我的坑(七) —— UIImageView做序列幀動(dòng)畫結(jié)束后沒(méi)有回調(diào)并且“隱藏”(一)
8. 我的代碼我的坑(八) —— iOS 13.1.2 Debug調(diào)試模式系統(tǒng)layoutSubviews中修改frame循環(huán)調(diào)用導(dǎo)致的崩潰(一)
9. 我的代碼我的坑(九) —— 系統(tǒng)鍵盤拼音全鍵無(wú)法正常聯(lián)想以及輸入漢字高亮區(qū)識(shí)別不計(jì)入長(zhǎng)度計(jì)數(shù)的問(wèn)題(一)
10. 我的代碼我的坑(十) —— iOS9 Xib實(shí)例化的UITableViewCell中UIButton和UISwitch等控件的IBAction點(diǎn)擊無(wú)響應(yīng)的問(wèn)題(一)
11. 我的代碼我的坑(十一) —— macOS Mojave 和 xcode 11.1 (11A1027)環(huán)境下運(yùn)行iphonex以上流海屏xcode install時(shí)xocde崩潰閃退的問(wèn)題(一)
12. 我的代碼我的坑(十二) —— iOS10字體DIN Condense Bold字體顯示不全頂部被切割的問(wèn)題(一)
13. 我的代碼我的坑(十三) —— 狀態(tài)欄高度的動(dòng)態(tài)計(jì)算(一)
14. 我的代碼我的坑(十四) —— Xcode 12.5中React編譯不過(guò)的問(wèn)題(一)
15. 我的代碼我的坑(十五) —— dispatch_once導(dǎo)致的死鎖的問(wèn)題(一)
16. 我的代碼我的坑(十六) —— 關(guān)于無(wú)法驗(yàn)證包完整性的問(wèn)題(一)
17. 我的代碼我的坑(十七) —— 關(guān)于UniversalLink校驗(yàn)不通過(guò)的問(wèn)題(一)
18. 我的代碼我的坑(十八) —— 關(guān)于UITableView分頁(yè)數(shù)據(jù)滾動(dòng)到頂部異常的問(wèn)題(一)
問(wèn)題描述
我們有時(shí)候的需求是給tableview的右側(cè)添加索引,如下圖所示:

這里如果我們點(diǎn)擊右側(cè)的索引,就會(huì)調(diào)用下面的索引方法:
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index{
NSIntegrer aIndex = 0;
return aIndex;
}
這里title返回的值就是右側(cè)的索引值,index是點(diǎn)擊的索引在所有索引中的序列。這個(gè)方法的返回值就是要返回要滾動(dòng)到的section索引。但是有時(shí)候只有一個(gè)section,里面有很多row,這個(gè)時(shí)候這個(gè)代理方法如果返回0,那么點(diǎn)擊右側(cè)索引就會(huì)自動(dòng)進(jìn)行滾動(dòng)到section=0的地方(帶著動(dòng)畫)。
也就是說(shuō)只有一個(gè)section的時(shí)候在這里沒(méi)辦法進(jìn)行滾動(dòng)的。
問(wèn)題解決
前面那個(gè)點(diǎn)擊索引回調(diào)的代理方法,我們返回-1,一個(gè)小于0的數(shù),系統(tǒng)的滾動(dòng)方法和動(dòng)畫就失效了。
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index{
NSInteger characterIndex = 0;//想滾動(dòng)到的index
NSIndexPath *selectIndexPath = [NSIndexPath indexPathForRow:characterIndex inSection:0];
[self.tableView scrollToRowAtIndexPath:selectIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];
return -1;
}
返回-1,就不會(huì)觸發(fā)系統(tǒng)的滾動(dòng),在里面可以做自定義的滾動(dòng)。
后記
本篇主要講述了關(guān)于
tableView索引點(diǎn)擊的自定義滾動(dòng)問(wèn)題,感興趣的給個(gè)贊或者關(guān)注~~~
