2010-02-06 160 views
5

如何爲UITableView創建自定義滾動條?UITableView自定義滾動條

我想刪除在跟蹤開始時彈出的默認彈出窗口,並且在跟蹤結束時消失。相反,我想要一個類似於計算機程序中的程序:(a)它位於屏幕的右側並永久可見; (b)手動滾動欄將滾動UITableView到適當的位置; (c)滾動UITableView將適當地滾動滾動條(不顯示Apple提供的默認值)。 (b)和(c)中的困難在於,據我所知,Apple只提供滾動到特定行/部分的方法,但不滾動到連續行向的四分之三。所以,例如,如果我想滾動滾動條,UITableView隨後將只滾動到行/單元格的頂部。我說的方法是:

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated 

有沒有人在他們的UITableView實現了自定義滾動條過嗎?或者有人可以幫我想出一個辦法來解決以下問題:

  • 滾動在UITableView的,而不是給小區

  • 刪除默認的滾動條,並阻止它開始的任何點出現

  • 改變滾動條圖像/動畫/不管作爲UITableView的滾動

臨屋NKS!


+0

爲什麼你會想要這種行爲?我無法想象這會比表格視圖右側的部分索引更好(如在「通訊錄」應用程序中所見)。它也不符合蘋果的HIG,並可能會讓你的應用在App Store中被拒絕。 – MrMage 2010-02-06 17:56:49

+1

部分在這裏回答「http://stackoverflow.com/questions/7976593/change-width-and-colour-of-scroll-bar-in-uitableview-iphone」 – alekhine 2011-11-10 11:18:52

回答

2

UITableView繼承自UIScrollView,這意味着您可以使用任何現有的函數。在你的情況

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

應該做的工作。它將桌子移動到你想要的任何位置。

禁用現有的滾動指示,使用

table.showsVerticalScrollIndicator = NO; 

,並添加你自己的,只需添加自定義視圖!