2011-11-02 43 views
23

tôi chỉ có thể tìm thấy nếu ai muốn để hiển thị thanh cuộn hoặc không sử dụngThay đổi chiều rộng và màu sắc của thanh cuộn trong UITableView, iphone

tableView.showsVerticalScrollIndicator = YES/NO; 

nhưng làm thế nào tôi có thể tùy chỉnh các thanh cuộn cho màu sắc, chiều rộng và nếu có thể các tính năng khác?

Mọi trợ giúp sẽ được đánh giá cao.

EDIT:

Tôi có ý tưởng này từ đoạn mã mà người ta phải tìm biểu tượng của Google trong MKMapKit và di chuyển nó ở đâu đó để nó vẫn còn nhìn thấy được. bằng phương pháp sau, người ta có thể đặt hình ảnh tùy chỉnh thành thanh cuộn của UItbaleview. Nhưng tôi thấy không có gì thay đổi kích thước của thanh cuộn.

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

EDIT: Theo đề xuất của Nekto bạn có thể sử dụng sau để thay đổi chiều rộng.

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

Trả lời

35

Bạn có thể thiết lập chỉ phong cách của chỉ cuộn:

Phong cách của các chỉ số cuộn.

@property(nonatomic) UIScrollViewIndicatorStyle indicatorStyle 

Styles:

Cuộn Chỉ Phong cách Phong cách của các chỉ số cuộn. Bạn sử dụng các hằng số này để đặt giá trị của kiểu indicatorStyle.

typedef enum { 
    UIScrollViewIndicatorStyleDefault, 
    UIScrollViewIndicatorStyleBlack, 
    UIScrollViewIndicatorStyleWhite 
} UIScrollViewIndicatorStyle; 

Ví dụ:

tableView.indicatorStyle = UIScrollViewIndicatorStyleBlack; 
+0

Cảm ơn rất nhiều Nekto. Tôi đã thử tableView.UIScrollViewIndicatorStyle = UIScrollViewIndicatorStyleBlack; đã đưa ra lỗi biên dịch "thuộc tính UIScrollViewIndicatorStyle không tìm thấy cho UItableView". Am i thiếu cái gì ở đây? – chatur

+0

Đã thêm ví dụ vào câu trả lời của tôi. Hãy thử nó – Nekto

+1

Nó hiện đang hoạt động. Cảm ơn rất nhiều bạn. Nhân tiện tôi là fan cuồng nhiệt của "Mir Publishers" và rất vui khi được nói chuyện với ai đó từ moscow. – chatur

1

Bạn có thể ẩn thanh cuộn ban đầu và cuộn bằng thanh cuộn tùy chỉnh của mình.

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

có thể được sử dụng để cuộn nội dung, chỉ cần thêm thanh tùy chỉnh vào bảng.

+0

Cảm ơn Manali trả lời của bạn. Tôi sẽ cần thời gian để thực hiện đề xuất của bạn. Tôi sẽ cho bạn biết tôi phương pháp trên làm việc cho tôi. – chatur

+0

xem câu trả lời được cập nhật .. – chatur

0

tôi did'n tìm thấy bất kỳ cách nào khác nhưng điều này:

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

Chỉ có 3 kiểu có sẵn. Nếu chỉ có bạn sẽ tìm thấy cách để thực hiện UIScrollViewIndicatorStyle của riêng bạn, nhưng tôi thậm chí không thể tưởng tượng LÀM THẾ NÀO để làm điều này: chúng được thực hiện sâu trong khuôn khổ UIKit (tuyên bố trong UIScrollView.h), và bạn chỉ có thể thiết lập một lá cờ, phù thủy sẽ được sử dụng bởi UIScrollView để biết, sử dụng kiểu nào. Vì vậy, tôi không thể nhìn thấy bất kỳ cách nào khác: bạn sẽ cần bằng cách nào đó để thực hiện phong cách mới và cờ ở đó. Có thể ở tất cả?

+0

Cảm ơn SentineL vì những suy nghĩ của bạn. Bây giờ tôi cũng không thể nghĩ ra bất kỳ cách nào để làm điều này, Nếu tôi thành công trong việc tạo thanh cuộn tùy chỉnh, tôi sẽ cho bạn biết. – chatur

+0

Nhân tiện: Tại sao bạn cần điều này? chỉ cần tùy biến, hoặc một số fuctionality? Bạn chỉ có thể thực hiện subView mới trên đầu trang của ScrollBar và làm bất cứ điều gì bạn thích với nó. nó sẽ chỉ ẩn chỉ báo mặc định. Nhưng trong trường hợp này, bạn sẽ cần phải làm rất nhiều công việc để làm cho công việc này độc đáo. – SentineL

+0

xem câu trả lời được cập nhật. – chatur

6

Bạn có thể thay đổi màu sắc chỉ cuộn sử dụng:

tableView.indicatorStyle=UIScrollViewIndicatorStyleWhite; 

Hope this helps.

3

Bạn có thể thêm thanh cuộn tùy chỉnh mã nguồn mở tuyệt vời này để dự án của bạn, nó hoàn toàn tùy biến: https://github.com/BasheerSience/BRScrollBar

+1

Cảm ơn rất nhiều basheer ... wht tôi thực sự cần tôi đã nhận nó ... Vì vậy, bạn xứng đáng bỏ phiếu ... Thnks một lần nữa –

0

thay đổi màu sắc chỉ với phong cách màu 3 mặc định.

TextField.indicatorStyle = UIScrollViewIndicatorStyleWhite;

0

Đối Swift 3

collectionView.indicatorStyle = UIScrollViewIndicatorStyle.white

Các vấn đề liên quan