2013-02-28 60 views
3

如何在正常狀態下設置UIImage並將UIButton中的標題設置爲選中狀態?我試圖在UIButton的正常狀態下設置UIImage,但是當在正常狀態下設置UImage時,這會更改所選狀態下UIButton的標題,從而更改圖像的標題。我在選擇的狀態使用如何在UIButton中選擇狀態和標題文本的UIImage

myButton setTitle:content forState:UIControlStateSelected

如何在正常狀態下設置UIImage並在我的UIButton中選擇狀態設置標題?

PDT:抱歉我的英語!

+0

如果你從xib中添加你得到的選項只有 – amar 2013-02-28 05:03:16

+0

那麼這裏你想設置圖像爲正常狀態,只有標題(無圖像)選擇? – rptwsthi 2013-02-28 05:04:25

+0

使用按鈕標籤來解決 – Rajneesh071 2013-02-28 09:26:48

回答

0

檢查與此代碼:

[myButton setTitle:content forState:UIControlStateSelected]; 
[myButton setImage:nil forState:UIControlStateSelected]; 
[myButton setImage:yourImage forState:UIControlStateNormal]; 
+0

是的,它的工作原理,謝謝! – kakashy 2013-03-01 12:19:17

+0

@kakashy:With Pleasure :) – 2013-03-01 12:24:52

1

//與UIColor

[self.button setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal]; 

設置//設置與UIImage

[self.button setBackgroundImage:[UIImage imageNamed:@"BlackRightBtn.png"] forState:UIControlStateNormal]; 

對於Button Selected

if (self.button.isSelected == YES) 
{ 
    [self.button setTitle:@"Your_ButtonTitle" forState:UIControlStateNormal]; 
} 
0

試試這個代碼:

[myButton setTitle:@"Your String" forState:UIControlStateSelected]; 
[myButton setImage:nil forState:UIControlStateSelected]; 

[myButton setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal]; 
[myButton setTitle:@"" forState:UIControlStateNormal]; 
1

可以正常和選擇的狀態定義按鈕和setImage。像這樣。

buttonJobs = [UIButton buttonWithType:UIButtonTypeCustom ]; 
buttonJobs.tag = 1; 
[buttonJobs setTitle:@"Jobs" forState:UIControlStateNormal]; 


buttonJobs.frame = CGRectMake(2, 56, 109, 33); 
[buttonJobs setImage:[UIImage imageNamed:@"tabButtonImage_Off.png"] forState:UIControlStateNormal];//buttonJobs.png 

[buttonJobs setImage:[UIImage imageNamed:@"tabButtonImage_On.png"] forState:UIControlStateDisabled]; 

[buttonJobs addTarget:self action:@selector(btnNextTab:) forControlEvents:UIControlEventTouchUpInside]; 

而在按鈕選擇器方法,你可以設置你的按鈕選擇根據sender's tag

-(void)btnNextTab:(UIButton*)sender 
{ 

    if(sender.tag == 1) 
    { 
     sender.selected = YES; 
    } 

} 

而對於標題,您可以更改文字的顏色。

希望這會幫助你。

+0

好吧,但是如果我不想在選中的狀態下設置UIImage,但我只想在所選狀態下設置Title(文本)?我怎麼能做到這一點? – kakashy 2013-03-01 01:55:20

3

試試這個:

BOOL selected;

-(IBAction)btnClicked:(UIButton *)sender{ 
    if(selected) 
    { 
     [chkBtn setTitle:@"selected" forState:UIControlStateNormal]; 
     chkImage.image=[UIImage imageNamed:@" "]; 
     NSLog(@"%@",chkBtn.titleLabel); 
     selected=NO; 
    } 
    else 
    { 
     [chkBtn setTitle:@" " forState:UIControlStateNormal]; 
     chkImage.image=[UIImage imageNamed:@"button_minus_pink.png"]; 
     selected=YES; 
    } 

}

1

添加如下代碼:

[myButton setTitle:@"Your String" forState:UIControlStateSelected]; 
[myButton setImage:[UIImage imageNamed:@"img.png"] forState:UIControlStateSelected]; 

[myButton setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal]; 
[myButton setTitle:@"" forState:UIControlStateNormal]; 

其中img.png不應該出現在你的包

你可以設置通過界面生成器爲好。