簡體   English   中英

我想在選擇后更改UISegmentedControl圖像

[英]I want to change UISegmentedControl images after selection

我有UISegmentedControl對象,其中包含圖像數組。 現在,我想在選擇每個對象(如UIButton控件)后更改此圖像,在其中我們可以設置圖像進行選擇和非選擇。 這是我的代碼

NSArray *itemArray;
        itemArray = [NSArray arrayWithObjects:
                     [UIImage imageNamed:@"grey.png"],
                     [UIImage imageNamed:@"overlay.png"],
                     [UIImage imageNamed:@"marker.png"],
                     nil];

    segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
    [segmentedControl addTarget:self action:@selector(segmentedControlIndexChanged) forControlEvents:UIControlEventValueChanged];

您可以使用自己的圖像針對iOS 5中的選定狀態和正常狀態自定義細分控件,請嘗試以下操作:

 UIImage *segmentSelected = 
[[UIImage imageNamed:@"segcontrol_sel.png"] 
    resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)];
 UIImage *segmentUnselected = 
[[UIImage imageNamed:@"segcontrol_uns.png"] 
    resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 15)];
 UIImage *segmentSelectedUnselected = 
[UIImage imageNamed:@"segcontrol_sel-uns.png"];
  UIImage *segUnselectedSelected = 
[UIImage imageNamed:@"segcontrol_uns-sel.png"];
UIImage *segmentUnselectedUnselected = 
[UIImage imageNamed:@"segcontrol_uns-uns.png"];

[[UISegmentedControl appearance] setBackgroundImage:segmentUnselected 
forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
  [[UISegmentedControl appearance] setBackgroundImage:segmentSelected 
forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];

     [[UISegmentedControl appearance] setDividerImage:segmentUnselectedUnselected 
forLeftSegmentState:UIControlStateNormal 
rightSegmentState:UIControlStateNormal 
barMetrics:UIBarMetricsDefault];
 [[UISegmentedControl appearance] setDividerImage:segmentSelectedUnselected 
forLeftSegmentState:UIControlStateSelected 
rightSegmentState:UIControlStateNormal 
barMetrics:UIBarMetricsDefault];
  [[UISegmentedControl appearance] 
setDividerImage:segUnselectedSelected 
forLeftSegmentState:UIControlStateNormal 
rightSegmentState:UIControlStateSelected 
barMetrics:UIBarMetricsDefault];

您還可以在http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5中檢查“完整的UI自定義”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM