iphone - 按下按钮时更改 UIButton 图像

标签 iphone objective-c xcode

我正试图在按下按钮的那一刻更改图像按钮。发布后,我想回到原来的状态。

我在这里阅读了一些帖子,但它不起作用。

是否可以在不编程的情况下在 GUI 中实现?

我试过这个:

-(IBAction) toggleUIButtonImage:(id)sender{
     if ([sender isSelected]) {
         [sender setImage:unselectedImage forState:UIControlStateNormal];
         [sender setSelected:NO];
     }else {
         [sender setImage:selectedImage forState:UIControlStateSelected];
         [sender setSelected:YES];
      }
 } 

但是我应该将函数 toggleUIButtonImage 关联到什么样的发送者事件?

谢谢

最佳答案

您可以在界面生成器中通过为每个按钮状态配置提供不同的设置来实现:

The available states are: default, selected and disabled

或者您也可以使用“UIButton”setImage:forState 方法在代码中更改按钮的“设置”。

    [myButton setImage:highlightedImage forState:UIControlStateHighlighted];

通常,您应该通过如上所述“配置”按钮来完成此操作,而不是通过手动更改按钮的 subview 来响应用户交互。它对您不起作用的原因是 UIButton 固有的隐藏行为。您手动更改按钮的 subview 作为对用户交互的响应,但您的更改将更改回按钮设置中定义的内容(根据按钮的状态)。所以看起来你的代码根本没有做任何事情。

关于iphone - 按下按钮时更改 UIButton 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12864571/

相关文章:

iphone - 什么是0xdb8844?

iphone - 有什么方法可以添加在 iCal 中添加的标识符或标记自定义事件吗?

objective-c - 如何在带有 UITextField 和 UITextView 的 Objective-C 中使用外部 C 函数 ;-)

ios - UITableViewCell 附件 View 在 iOS 6 中不显示但在 iOS 7 中显示

iphone - 您如何使用 mailgun 快速在 ios 应用程序上发送图像附件?

ios - 有没有办法从 Iphone 获取信号强度?

ios - 从底部覆盖控制中心屏幕边缘平移?

objective-c - SKPaymentQueue finishTransaction : within network completion block?

iphone - XCode 4 无法在设备上运行可执行文件

ios - XCTest不会链接目标应用程序中的类