2012-02-24 15 views
8

Ben özelleştirilmiş ettik benim UISlider ama benim başparmak görüntü tuhaf görünüyor, bunu pozisyon merkezi tarafından hizalanmış değil ya:hizalayın UISlider başparmak görüntü - nesnel-c

enter image description here

Fakat böyle olmalı:

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]; 
:

enter image description here

Ve burada kodudur

Sorun nerede olabilir?

DÜZENLEME: Bu sorunun çözümünü buldum. Başparmak görüntü arka plan şeffaf olduğunu ve bunun başparmak görüntü merkezi tarafından hizalanmış değildi görmedim:

enter image description here

+0

Kişisel streç görüntü UISlider iç uygulama gerektiriyorsa aynen kadar yüksek değildir olmak. Daha az yüksek yapmayı deneyin. –

+0

Nasıl olduğunu gösterebilir misin? –

+1

Peki - GIMP, Photoshop, Paint.net ... :) kullanın –

cevap

4

iki yolu vardır:

Firs biri kullanmaktır

- (CGRect)trackRectForBounds:(CGRect)bounds;

veya

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

ait

yöntemleri başparmak

İkinci yolu sanat ayarlamaktır sen

istediğiniz şekilde düzenlemek için sınıflara,:

enter image description here

İlgili konular