2012-07-05 11 views
7

Tôi muốn sử dụng hình ảnh cho bản theo dõi UISlider. Tôi không muốn một màu ở bên trái của ngón cái, và một màu khác ở bên phải. Tôi chỉ muốn một hình ảnh tĩnh trên toàn bộ bản nhạc. Khả thi?iOS - hình ảnh tùy chỉnh cho UISlider

Trả lời

16

Đối với thiết lập các hình ảnh để trượt của bạn, bạn có thể sử dụng setMinimumTrackImage, setMaximumTrackImage phương pháp. Đối với yêu cầu của bạn đặt cả hai cùng một hình ảnh.

iOS 5 trở xuống

UIImage *sliderTrackImage = [[UIImage imageNamed: @"Slider.png"] stretchableImageWithLeftCapWidth: 7 topCapHeight: 0]; 

[mySlider setMinimumTrackImage: sliderTrackImage forState: UIControlStateNormal]; 
[mySlider setMaximumTrackImage: sliderTrackImage forState: UIControlStateNormal]; 

iOS 5+

UIImage *sliderTrackImage = [[UIImage imageNamed:@"Slider.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 7, 0, 0)]; 

[mySlider setMinimumTrackImage: sliderTrackImage forState: UIControlStateNormal]; 
[mySlider setMaximumTrackImage: sliderTrackImage forState: UIControlStateNormal]; 

Để biết thêm xin vui lòng kiểm tra các liên kết:

  1. User Interface Customisation Tutorial
  2. http://jasonlawton.com/blog/customizing-uislider-in-iphone/
  3. Custom UISlider
  4. Slider image
+0

Cảm ơn. Những công việc này. Tôi không cần nó để có thể căng ra vì vậy tôi chỉ sử dụng imageNamed. – soleil

+0

cảm ơn nhận xét của bạn :) –

+1

'stretchableImageWithLeftCapWidth: topCapHeight:' không được chấp nhận. Thay thế nó bằng 'resizableImageWithCapInsets: UIEdgeInsetsMake (0, 7, 0, 7) thay đổi kích thướcMode: UIImageResizingModeStretch'. –

0

Chỉ cần đặt cả hai mặt cho cùng một hình ảnh. Bạn có thể muốn tạo hai hình ảnh riêng biệt với cùng một màu/mẫu nếu bạn muốn các góc được làm tròn ở đầu.

4
[[UISlider appearance] setThumbImage:[UIImage imageNamed:@"ball.png"] forState:UIControlStateNormal]; 
[slider setMinimumTrackImage:[[UIImage imageNamed:@"volume_slider_oragne.png"] stretchableImageWithLeftCapWidth:0.3 topCapHeight:0.0] forState:UIControlStateNormal]; 
[slider setMaximumTrackImage:[[UIImage imageNamed:@"volume_strap_gry.png"] stretchableImageWithLeftCapWidth:0.3 topCapHeight:0.0] forState:UIControlStateNormal]; 
+2

[[UISlider appearance] setThumbImage: [UIImage imageNamed: @ "ball.png"] forState: UIControlStateHighlighted]; để tránh ngón tay cái không quay trở lại hình ảnh ban đầu của nó khi trượt. –