2014-01-24 71 views
0

如何使用UI分段控件更改背景圖片?如何使用UI分段控件更改背景圖片

我想改變使用段控制的背景圖像,並選擇上述過程中的圖像後。

+0

歡迎添加以下代碼.m文件到堆棧溢出!看起來你希望我們爲你寫一些代碼。儘管許多用戶願意爲遇險的編碼人員編寫代碼,但他們通常只在海報已嘗試自行解決問題時才提供幫助。證明這一努力的一個好方法是包含迄今爲止編寫的代碼,示例輸入(如果有的話),期望的輸出和實際獲得的輸出(控制檯輸出,堆棧跟蹤,編譯器錯誤 - 無論是適用)。您提供的細節越多,您可能收到的答案就越多。 – kkuilla

+0

我想你的問題不清楚,歡迎來到社區,但請閱讀提問的FAQ。 – Retro

回答

2

你必須目標添加到分段控制器像 然後,當你點擊任何一個細分的「行動」的方法將被調用,改變背景圖像或「行動」方法

[segmentedControl addTarget:self action:@selector(action:)forControlEvents:UIControlEventValueChanged]; 

方法做任何事實施謹

-(void)action:(id)sender 
{ 
    //code for setting background image. 
} 
+0

我沒有得到解決方案,如果你可以郵寄給我一個例子,所以它會幫助我。 郵件ID - [email protected] –

0

設置IBAction爲與UIControlEventValueChanged事件類型的segmentbar,並根據選擇的指數,你可以改變你的ImageView的圖像

-(IBAction)segmentedChartButtonChanged:(id)sender 
{ 
    switch (self.segmentedButton.selectedSegmentIndex) { 
     case 0: 
      self.imageView.image = [UIImage imagenamed:@"imageName"]; 
      break; 
     case 1: 
      self.imageView.image = [UIImage imagenamed:@"imageName"]; 
      break; 
     default: 
      break; 
    } 
} 
+0

我沒有得到解決方案,如果你可以郵寄給我一個例子,所以它會幫助我。 郵件編號 - [email protected] –

2

這是UISegmentedControl的文檔鏈接。

編輯

也許我誤解了你的問題。如果要更改視圖的背景圖像,可以將控制器添加爲分段控件的目標。

[segmentedControl addTarget:self action:@selector(updateBackgroundImage:) forControlEvents:UIControlEventValueChanged]; 

UIControlEventValueChanged被觸發你的控制,你可以使用任何的這個方法來改變你想要的背景圖像。

- (void)updateBackgroundImage:(UISegmentedControl *)sender { 
    self.imageView = [UIImage imageNamed:(sender.selectedSegmentIndex ? @"foo": @"bar")]; 
} 

原來的答案

正如你會發現它的那個文件,你可以改變控制方式不同的外觀。幾個例子。

-[UISegmentedControl setBackgroundImage:forState:barMetrics:] 
-[UISegmentedControl dividerImageForLeftSegmentState:rightSegmentState:barMetrics:] 
-[UISegmentedControl setImage:forSegmentAtIndex:] 

UIControlEventValueChanged被觸發你的控制,你可以使用任何的這個方法來改變發送者的外觀。

+0

我沒有得到解決方案,如果你可以郵寄給我一個例子,所以它會幫助我。 郵件編號 - [email protected] –

0

試試這個..也許它會幫助你..

首先採取的UIImageView和設置的那IBOutlet中,並給予名稱,如Backgroundimg並添加段值變化的方法和也是在廈門國際銀行成立出口的ImageView和方法的出口到UISegmentControl。

//.h file 

IBOutlet UIImageView *Backgroundimg; 

-(IBAction)SegmentChanged:(id)sender; 

而剛剛

//.m file 

-(IBAction)SegmentChanged:(id)sender 
{ 
    UISegmentedControl *seg=(UISegmentedControl *)sender; 
    if(seg.selectedSegmentIndex==0) 
    { 
     [Backgroundimg setImage:[UIImage imageNamed:@"intro1.png"]]; 
    } 
    else if(seg.selectedSegmentIndex==1) 
    { 
     [Backgroundimg setImage:[UIImage imageNamed:@"intro2.png"]]; 
    } 
} 
+0

我沒有得到解決方案,如果你可以郵寄給我一個例子,所以它會幫助我。 郵件ID - [email protected] –

+0

@ user3231449要更改 –

+0

我想用UISegmentControl –