2013-09-27 190 views
14

Tôi đang cố gắng thay đổi Màu của ngón tay cái trên UISlider của tôi - Bằng cách nào đó, nó luôn luôn có màu trắng. Thay đổi màu sắc của bản thân Bar dường như hoạt động khá tốt.iOS 7 - UISlider thumbTIntMàu không thay đổi

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    self.redSlider.thumbTintColor = [UIColor redColor]; 
} 

Tôi có thiếu gì đó ở đây không?

Tôi cũng tìm thấy this Question ở đây, điều đó cho biết đó có thể là lỗi - bất kỳ ý tưởng nào?

+0

thấy http://stackoverflow.com/questions/18983726/uislider-thumbtintcolor-doesnt-change-on-ios-7-fine-on-ios-6 cũng –

Trả lời

1

Bạn đã thiết lập bất kỳ thứ gì về nó trong bảng phân cảnh xib/bảng phân cảnh chưa?

Nếu có thay đổi nó vào trong viewDidLoad, cố gắng thiết lập màu sắc của bạn vào

- (void)viewDidLayoutSubviews 

Nếu làm việc, đó là vì điều này được gọi sau khi giá trị nạp từ kịch bản, nơi viewDidLoad được gọi trước đó.

+0

này không hoạt động, hãy thử nó bản thân bạn, không tồn tại một giải pháp cho nó. Nó chỉ không thay đổi! –

+1

Nó cố định dự án của tôi với nó tại thời điểm đó, xin lỗi nếu không làm việc cho bạn. – Atheryl

8

Có lỗi. Để tránh không chuẩn bị hình ảnh giả, hãy sử dụng mã này.

[s setThumbImage:s.currentThumbImage forState:UIControlStateNormal]; 
s.thumbTintColor = UIColor.redColor; 
+1

Mặc dù hack này hoạt động, nó thay đổi hình ảnh ngón tay cái để có hiệu ứng 3D như kiểu iOS 6 cũ. iOS 7 phải có kiểu phẳng. – Pwner

+0

Cách tiếp cận này không hoạt động trong kịch bản của tôi (trong React Native). Nếu tôi 'setThumbImage' thành một hình ảnh thực trong' Images.xcassets' của tôi thì nó hoạt động. Có bất kỳ thay thế cho 's.currentThumbImage'? – vitch