如何在UIButton中以选定状态从正常状态和标题文本设置UIImage

时间:2013-02-28 04:52:18

标签: iphone ios objective-c uibutton

如何在正常状态下设置UIImage并在我的UIButton中将标题设置为选定状态?

嗨,我尝试将UIImage设置为UIButton的正常状态,但是当在正常状态下设置UImage时,这会更改处于选定状态的UIButton的标题,从而更改图像的标题。我正在使用

myButton setTitle:content forState:UIControlStateSelected

在所选的州。

如何在正常状态下设置UIImage并在我的UIButton中将标题设置为选定状态?

PDT:对不起我的英语!

6 个答案:

答案 0 :(得分:3)

试试这个:

选择BOOL;

-(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 :(得分: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];
}

答案 2 :(得分: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;
  }

}

对于标题,您可以更改文字的颜色。

希望这会对你有所帮助。

答案 3 :(得分: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

您也可以通过Interface Builder进行设置。

答案 4 :(得分:0)

检查此代码:

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

答案 5 :(得分:0)

试试这段代码:

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

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