2011-11-02 118 views
23

如果想顯示滾動條或不使用更改寬度和UITableView的滾動條的顏色,iphone

tableView.showsVerticalScrollIndicator = YES/NO; 

,但我怎麼可以自定義顏色滾動條,寬度,如果可能的話我只能找到其他特性?

任何幫助將不勝感激。

編輯:

我從代碼段,其中一個必須MKMapKit找到谷歌徽標和地方搬遷,以便它仍然可見這個想法。 通過以下方法可以將自定義圖像設置爲UItbaleview的滾動條。但是我沒有發現改變滾動條的大小。

-(void) ViewDidLoad 
{ 
UIImageView *testView = [self.tableView.subviews objectAtIndex:1]; 
    UIImage *Img = [UIImage imageNamed:@"image.png"]; 
    [testView setImage:Img]; 
} 

編輯: 正如Nekto建議你可以用下面的方法修改的寬度。

CGRect frame = testView.frame; 
frame.size.width = 10; //set any value you want. 
testView.frame = frame; 

回答

35

您可以設置滾動指標只風格:

的滾動指標的風格。

@property(nonatomic) UIScrollViewIndicatorStyle indicatorStyle 

樣式:

滾動指示風格 的滾動指標的風格。您可以使用這些常量來設置indicatorStyle樣式的值。

typedef enum { 
    UIScrollViewIndicatorStyleDefault, 
    UIScrollViewIndicatorStyleBlack, 
    UIScrollViewIndicatorStyleWhite 
} UIScrollViewIndicatorStyle; 

例如:

tableView.indicatorStyle = UIScrollViewIndicatorStyleBlack; 
+0

非常感謝Nekto。我試過tableView.UIScrollViewIndicatorStyle = UIScrollViewIndicatorStyleBlack;這給編譯錯誤「屬性UIScrollViewIndicatorStyle找不到UItableView」。我在這裏錯過了什麼嗎? – chatur

+0

新增了我的答案。試試吧 – Nekto

+1

現在正在工作。非常感謝朋友。順便說一句,我是「和平出版社」的粉絲,很高興能夠與莫斯科的某個人交談。 – chatur

1

您可以隱藏原始滾動條並使用自定義滾動條進行滾動。

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

可用於滾動內容,只需將您的自定義欄添加到表。

+0

馬拉里感謝您的答覆。我需要時間來實施你的建議。我會讓你知道我上面的方法適合我。 – chatur

+0

看到更新的答案.. – chatur

0

我did'n找到任何其他方式,但這:

UITableView *v; 
[v setIndicatorStyle:<#(UIScrollViewIndicatorStyle)#>]; 

只有3可用的樣式。如果只有你會找到實現你自己的UIScrollViewIndicatorStyle的方式,但我甚至無法想象如何做到這一點:它們在UIKit框架中深入實現(在UIScrollView.h中聲明),並且你只能設置一個標誌,女巫會用於UIScrollView知道,使用什麼風格。所以,我看不到任何其他方式:您需要以某種方式實現新風格並在那裏標記。它有可能嗎?

+0

感謝SentineL的您的想法。現在我也想不出有什麼辦法做到這一點,如果我成功創建自定義滾動條,我會讓你知道。 – chatur

+0

順便說一句: 爲什麼你需要這個?只是定製,還是一些功能?你可以在ScrollBar的頂部實現新的子視圖,並做任何你想要的。它會隱藏默認指標。但是在這種情況下,你需要做很多工作才能很好地工作。 – SentineL

+0

查看更新的答案。 – chatur

3

您可以將這個偉大的開源定製的滾動條添加到您的項目,它完全可定製的。

TextField.indicatorStyle = UIScrollViewIndicatorStyleWhite;

+1

非常感謝basheer ......我真的需要我得到它......所以你應該得到投票...... Thnks再次 –

0

改變指示劑顏色:

0

對於斯威夫特3

collectionView.indicatorStyle = UIScrollViewIndicatorStyle.white