UIStepper非常方便,但我想改變它的外觀,我需要定製的圖標不是加號和減號,也是我想更改控件的顏色。我怎樣才能做到這一點?提前致謝!更改UIStepper的外觀
回答
您目前無法做到這一點。如果要自定義圖標,則必須編寫自定義的UIControl
對象。
從UIStepper Class Reference,您可以更改的唯一參數是
continuous property
autorepeat property
wraps property
minimumValue property
maximumValue property
stepValue property
value property
您不能自定義圖標。
但是,由於它是UIView
的子類,因此您可以嘗試更改backgroundColor
。
由於決定如何實現UIStepper,所以更改'backgroundColor'將不起作用。提問者應該提交一個錯誤:https://bugreport.apple.com – 2012-01-06 21:54:33
我發現這很糟糕,無論如何有沒有開源的選擇?謝謝你的答案。 – 2012-01-07 03:53:32
這工作:
[[UIButton appearanceWhenContainedIn:[UIStepper class], nil] setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[[UIButton appearanceWhenContainedIn:[UIStepper class], nil] setBackgroundImage:[UIImage imageNamed:@"highlighted.png"] forState:UIControlStateHighlighted];
[[UIButton appearanceWhenContainedIn:[UIStepper class], nil] setBackgroundImage:[UIImage imageNamed:@"disabled.png"] forState:UIControlStateDisabled];
不知道它是證明,雖然未來如何。
很好找。任何方式爲左側和右側控件設置不同的圖像? – tagyro 2012-10-18 09:18:05
@AndreiStoleru我假設你的目標是ios5並且意味着+增量和減量圖像。無需在UIStepper上創建子類或添加類別。但你可以使用[[UIImageView appearanceWhenContainedIn:[UIStepper class],nil]來自定義分隔符:setImage:[UIImage imageNamed:@「divider.png」]]; – Timmehmainframe 2012-10-19 12:23:49
「appearanceWhenContainedIn'已在iOS 9中棄用,不再推薦使用,以防未來的人員到達此處。 – hvaughan3 2017-04-06 19:46:30
從iOS 6.0開始,您可以使用- (UIImage *)decrementImageForState:(UIControlState)state
和- (UIImage *)incrementImageForState:(UIControlState)state
來更改UIStepper控件上的標籤。
這適用於iOS 6.0:
[_stepper setDecrementImage:[UIImage imageNamed:@"decrementIcon.png"] forState:UIControlStateNormal];
工作正常。如果在iOS> = 6上,這應該是被接受的答案。 – 2014-04-19 12:11:23
您可以通過UIViews始終步驟和猜測了。無論如何,這是我的代碼,它不直接回答問題,但是很整潔。
@implementation UIStepper (Util)
- (void) fixForIos7 {
if (!IS_IOS7)
return;
for (UIView *view in self.subviews) {
view.backgroundColor = [UIColor whiteColor];
UIButton *button = (UIButton*)view;
[button setTintColor:[UIColor blackColor]];
}
}
@end
這裏是適合我的解決方案。
平臺的iOS 7.1
[stepper setBackgroundImage:[UIImage new] forState:UIControlStateNormal];
[stepper setDividerImage:[UIImage new] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal];
,結果只有遞增,遞減的圖像是可見的。
- 1. 更改UIStepper
- 2. 更改UIStepper的大小?
- 3. 更改UISearchDisplayController外觀
- 4. 更改外觀2013
- 5. 更改Modal的外觀UIActivityViewController
- 6. 更改RibbonRadioButton的外觀
- 7. 更改NSPopover的外觀?
- 8. 更改gridview的外觀
- 9. 更改Eclipse的外觀
- 10. 更改Swing的外觀
- 11. .htaccess - 更改URL的外觀
- 12. 更改光標的外觀
- 13. Swift更改Uitabcontroller的外觀?
- 14. 更改Google Chrome的外觀
- 15. 更改uitextfield的外觀
- 16. 如何更改UIStepper的值:Double @IBAction之外的值是多少?
- 17. UITabBarController修改[更多...]外觀
- 18. MFC CdockablePane更改外觀
- 19. Android- NumberPicker更改外觀
- 20. 更改Libgdx按鈕外觀
- 21. 更改phpmyadmin面板的外觀
- 22. 如何更改UITableView的外觀?
- 23. 更改禁用鏈接的外觀
- 24. 如何更改ListPreference **按鈕的外觀**
- 25. 如何更改ProgressDialog的外觀?
- 26. 更改Excel按鈕的外觀
- 27. 更改Filepicker上傳框的UI外觀
- 28. 更改按鈕的外觀 - iPhone
- 29. 更改JTable的外觀和感覺
- 30. 如何更改文本框的外觀
這是不可能的。請提交一個請求此功能的bug:https://bugreport.apple.com – 2012-01-06 22:07:49