2013-09-27 153 views
31

Khi tôi chuyển từ thiết kế iOS 6 sang iOS 7, tôi nhận thấy rằng việc sử dụng phương pháp setValue:animated: không còn làm sinh động quá trình trượt. Có ai khác bắt gặp vấn đề này và tìm ra giải pháp không?UISlider không hoạt ảnh trong iOS7

tôi sẽ chỉ cần thêm một số mã để hiển thị Tôi đã không làm gì phức tạp:

//Variable declaration 
IBOutlet UISlider *s; //Connected in the .xib 

//Button pressed 
- (IBAction)buttonPressed:(id)sender 
{ 
    [s setValue:1 animated:YES]; 
} 

Và nó nhảy thẳng tới 1 sau khi tôi bấm nút.

Trả lời

64

Tương thích ngược với iOS 4 giải pháp/cách giải quyết:

[UIView animateWithDuration:1.0 animations:^{ 
    [_sliderTest setValue:0.90 animated:YES]; 
}]; 

Dường như iOS 7 sẽ không động trừ khi bạn xác định cả hai khối này và hoạt hình: YES. iOS 6.0 dường như bỏ qua khối hoạt hình và thực thi khối nội bộ của chính nó. Kinda lẻ. Chỉ định thời lượng 2.0 để xem iOS 7 hoạt ảnh nhanh gấp hai lần iOS 6 với cùng mã.

+0

Tìm thấy giải pháp này quá, hoàn toàn kỳ lạ! Nhưng đó là con đường để đi! –

+1

Yea, bạn vẫn cần thực hiện việc này trong iOS8. Sử dụng một trong hai phương thức độc lập không hoạt động. – Sid

+3

Vẫn bị hỏng trong iOS 9. Cách giải quyết này vẫn hoạt động. –