2012-02-24 30 views
8

Tôi đã tùy chỉnh của tôi UISlider nhưng hình ảnh ngón tay cái của tôi trông lạ, tôi có nghĩa là nó được vị trí không phù hợp bởi trung tâm:Align UISlider thumb image - Mục tiêu-c

enter image description here

Nhưng nên như thế này:

enter image description here

Và đây là mã:

UIImage *leftTrack = [[UIImage imageNamed:@"blueTrack.png"] stretchableImageWithLeftCapWidth:3 topCapHeight:0]; 
UIImage *rightTrack = [[UIImage imageNamed:@"whiteTrack.png"] stretchableImageWithLeftCapWidth:3 topCapHeight:0]; 
[slider setThumbImage:[UIImage imageNamed:@"thumbButton.png"] forState:UIControlStateNormal]; 
[slider setMinimumTrackImage:leftTrack forState:UIControlStateNormal]; 
[slider setMaximumTrackImage:rightTrack forState:UIControlStateNormal]; 

Trường hợp có thể là vấn đề?

EDIT: Tôi đã tìm thấy giải pháp cho vấn đề này. nền hình ảnh ngón tay cái là minh bạch, và tôi đã không nhìn thấy rằng hình ảnh ngón tay cái không được liên kết bởi trung tâm:

enter image description here

+0

hình ảnh căng của bạn là không chính xác cao như thực hiện nội UISlider đòi hỏi nó được. Hãy thử làm cho nó ít cao hơn. –

+0

Bạn có thể chỉ cho tôi cách thực hiện không? –

+1

Vâng - sử dụng GIMP, Photoshop, Paint.net ... :) –

Trả lời

4

Có hai cách:

Firs một là sử dụng

- (CGRect)trackRectForBounds:(CGRect)bounds;

hoặc

- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value;

phương pháp UISlider khi subclassing để bố trí ngón tay cái theo cách bạn muốn

cách thứ hai là để điều chỉnh tác phẩm nghệ thuật của bạn:

enter image description here