2010-11-21 34 views
2

我想要那个有助于在我的应用程序中解锁iPhone的滑块,但即时获取该标准滑块。请告诉我有什么方法可以更改该标准滑块或有任何代码或UI吃出滑块,帮助我们解开iPhone ...有助于解锁iPhone的滑块


那么我怎么才能使滑片,客户的要求很高....我们才能把图像放在“滑动解锁”的标准滑块滑块...什么

回答

7

简短的回答是,你必须使自己的。

长时间的回答是,可以自定义UISlider以使其看起来完全像锁定滑块(这将会导致拒绝,所以如果您提交,使它看起来适度不同,即使苹果可能会挑剔它并可能仍然拒绝)。

使用2个背景图像设置UISlider,一个用于滑块处于最小位置时,另一个用于滑块处于最大位置时,另一个用于拇指图像。

下面是一个示例设置

UIImage *minImage = [UIImage imageNamed:@"sliderback_min.png"]; 
UIImage *maxImage = [UIImage imageNamed:@"sliderback_max.png"]; 
UIImage *tumbImage= [UIImage imageNamed:@"slider_thumb.png"]; 

minImage=[minImage stretchableImageWithLeftCapWidth:25.0 topCapHeight:0.0]; 
maxImage=[maxImage stretchableImageWithLeftCapWidth:25.0 topCapHeight:0.0]; 

[lockScreenSlider setMinimumTrackImage:minImage forState:UIControlStateNormal]; 
[lockScreenSlider setMaximumTrackImage:maxImage forState:UIControlStateNormal]; 
[lockScreenSlider setThumbImage:tumbImage forState:UIControlStateNormal]; 

lockScreenSlider.minimumValue = 0.0; 
lockScreenSlider.maximumValue = 100.0; 
lockScreenSlider.continuous = YES; 
lockScreenSlider.value = 10.0; 

接着使用sliderTouchEnd委托方法动画滑块回落到最小值的动画当触摸已结束,但不完全解锁。像这样的:

- (IBAction) sliderTouchEnd:(id)sender { 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:0.3]; 
    lockScreenSlider.value = 10.0; 
    [UIView commitAnimations]; 
} 

你必须自己做,但这会让你非常接近的锁屏滑块。

+0

太神奇了!非常感谢。 – nosuic 2011-06-12 18:08:09

0

如果你的意思是“滑动解锁”滑块,不,没有办法改变它。

+0

那么我将如何得到那个滑块,客户端要求....我们可以把标准滑块上的“幻灯片解锁”滑块...什么说fabian789? – ManjotSingh 2010-11-21 12:31:55