Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UIButton:突出显示按钮状态时背景图像设置问题?_Iphone_Ios_Ipad_Uibutton - Fatal编程技术网

Iphone UIButton:突出显示按钮状态时背景图像设置问题?

Iphone UIButton:突出显示按钮状态时背景图像设置问题?,iphone,ios,ipad,uibutton,Iphone,Ios,Ipad,Uibutton,我有一个UIButton,我需要在点击按钮时更改按钮的图像。按钮的背景图像在ViewDidLoad方法中设置。请参考附在本帖上的图片 当我第一次点击按钮时,按钮属性将更改为selected,并且“arrow_right.png”图像将设置为我们的按钮 2.在第二次点击时,我观察到当按钮状态高亮显示,但其背景图像未设置。您可以看到一些模糊效果 我担心的是,当我切换UIButton时,图像并没有设置为高亮显示状态。当按钮的状态从选定变为正常时。 这是一个错误还是我的错误 多谢各位 - (void

我有一个UIButton,我需要在点击按钮时更改按钮的图像。按钮的背景图像在ViewDidLoad方法中设置。请参考附在本帖上的图片

  • 当我第一次点击按钮时,按钮属性将更改为selected,并且“arrow_right.png”图像将设置为我们的按钮
  • 2.在第二次点击时,我观察到当按钮状态高亮显示,但其背景图像未设置。您可以看到一些模糊效果

    我担心的是,当我切换UIButton时,图像并没有设置为高亮显示状态。当按钮的状态从选定变为正常时。 这是一个错误还是我的错误

    多谢各位

    - (void)viewDidLoad
    {
      [super viewDidLoad];
    
      [testButton setBackgroundImage:[UIImage imageNamed:@"btn_normal.png"] forState:UIControlStateNormal];
      [testButton setBackgroundImage:[UIImage imageNamed:@"btn_pressed.png"] forState:UIControlStateSelected];
      [testButton setBackgroundImage:[UIImage imageNamed:@"btn_pressed.png"] forState:UIControlStateHighlighted];
    
    }
    - (IBAction)buttonPressed:(id)sender 
    {
      UIButton *button = (UIButton*)sender;
      button.selected = !button.selected;
    
      if (button.selected)
      {
          [button setImage:[UIImage imageNamed:@"arrow_right.png"] forState:UIControlStateNormal];
          [button setImage:[UIImage imageNamed:@"arrow_right.png"] forState:UIControlStateHighlighted];
          [button setImage:[UIImage imageNamed:@"arrow_right.png"] forState:UIControlStateSelected];
      }
      else
      {
          [button setImage:[UIImage imageNamed:@"arrow_left.png"] forState:UIControlStateNormal];
          [button setImage:[UIImage imageNamed:@"arrow_left.png"] forState:UIControlStateHighlighted];
          [button setImage:[UIImage imageNamed:@"arrow_left.png"] forState:UIControlStateSelected];
      }
    }
    
    试试这个

    - (IBAction)buttonPressed:(id)sender 
    {
      UIButton *button = (UIButton*)sender;
     if(button.selected) {
     [button setSelected:NO]
    } else {
     [button setSelected:YES]
    }
    
    }
    

    我不明白为什么需要再次设置图像,只需设置其选定属性,按钮将按预期运行

    对不起,frd,我正在编辑我的帖子。很抱歉您的登录。我正在通过按钮更改所选属性。所选=!按钮。已选定;。我担心的是,当我切换UIButton时,图像并没有设置为高亮显示状态。当按钮的状态从选定变为正常时。