KDe*_*kar 4 iphone objective-c uibutton ios
我想根据Web服务响应更改按钮背景图像.如果作为响应我将未读消息设置为true,则图像将不同,如果没有未读消息,则图像将不同.我得到了很好的响应,但无法更改按钮的背景图像.
这是我正在使用的片段
if(unread>0){
[badgeTitle setBackgroundImage:[UIImage imageNamed:@"unread.png"] forState:UIControlStateNormal];
}
else{
[badgeTitle setBackgroundImage:[UIImage imageNamed:@"read.png"] forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)
如果你看一下,解决方案可以非常简单.保留全局UIButton而不是本地UIButton.这有助于,当Web请求返回响应时,按钮需要存在于范围内,而不是从内存中删除.
所以使用,
self.myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[self.myButton setBackgroundImage:[UIImage imageNamed:@"unread.png"] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
要么
[self.myButton setImage:[UIImage imageNamed:@"unread.png"] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
而且,如果您检查单击按钮,请按照以下步骤操作:
-(IBAction)checkForMsgCount: (id)sender
{
UIButton *buttonObj = (UIButton*)sender;
[buttonObj setBackgroundImage:[UIImage imageNamed:@"unread.png"] forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)
这会更改背景图像,对于响应该功能的按钮.
| 归档时间: |
|
| 查看次数: |
8044 次 |
| 最近记录: |