2013-10-10 38 views

回答

0

無法自定義UIStepper。您只能更改背景圖像,tintColor和兩個圖像(加號和​​減號)。 我認爲最好最簡單的方法就是像這樣創建自己的。 1)創建兩個按鈕,並將其作爲文本+和 - 2)這是起始代碼。然後,你需要處理的最大值和最小值:

.h file 

@interface ViewController : UIViewController { 
    NSInteger value; 
} 

- (IBAction)plus:(id)sender; 
- (IBAction)minus:(id)sender; 


.m file 


- (IBAction)plus:(id)sender { 
    value++; 
} 

- (IBAction)minus:(id)sender { 
    --value; 
} 
+1

它其實我已經採用了這種方法,我想與步進爲更好的表現摸索,但沒關係......除了其他任何東西外,它似乎也很好,所以......感謝您的建議和幫助!羅裏 – kAiN

1

其實是的,你可以將背景圖片設置爲一個純粹的彩色圖像,像這樣:

- (UIImage *)emptyImageForSteper 
{ 
    UIGraphicsBeginImageContext(CGSizeMake(1, 1)); 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetFillColorWithColor(context, COLOR_BUTTON_LIGHT.CGColor); 
    CGContextFillRect(context, CGRectMake(0, 0, 1, 1)); 
    UIImage * image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return image; 
} 

[steper setBackgroundImage:self.emptyImageForSteper forState:UIControlStateNormal]; 

你去那裏

4

如果您有增量和減量按鈕的自定義圖像,則可以使用此解決方案。使步進器[UIColor clearColor]tintColor屬性成爲可能。這樣邊框和按鈕將不可見。爲了防止按鍵被無形,這樣做:

UIImage *incrementImageFromFile = [UIImage imageNamed:@"theName"]; 
UIImage *incrementImage = [incrementImageFromFile imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 

你也需要讓你的圖片相同色調的顏色,你想使用。

0

它的工作原理,爲雨燕編碼:

var incrementImageFromFile : UIImage = UIImage(named: "Offer_Plus")! 
    var incrementImage : UIImage = incrementImageFromFile.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 

    var decrementImageFromFile : UIImage = UIImage(named: "Offer_Minus")! 
    var decrementImage : UIImage = decrementImageFromFile.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal) 

    self.seatStepper.tintColor = UIColor.clearColor() 
    self.seatStepper.setDecrementImage(decrementImage, forState: UIControlState.Normal) 
    self.seatStepper.setIncrementImage(incrementImage, forState: UIControlState.Normal) 

輸出是:

enter image description here