首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据按钮的图像在按钮按下时使用if else条件?

如何根据按钮的图像在按钮按下时使用if else条件?
EN

Stack Overflow用户
提问于 2011-09-26 12:13:49
回答 5查看 310关注 0票数 0

我尝试在按钮点击的基础上使用一些逻辑。我使用按钮作为复选标记,当我点击这个复选标记时,按钮的图像更改为checked.png或unchecked.png.On,这是我使用此代码的基础…

代码语言:javascript
运行
AI代码解释
复制
if([UIImage imageNamed:@"checkbox_ticked.png"])
    {
        isActiveStr=[arrayPickerData objectAtIndex:17];
        NSLog(@" is active value is %@ ",isActiveStr);
        isActiveStr=nil;

    }
    else 
    {
        NSLog(@"no vlaue send");
        isActiveStr=[[NSMutableString alloc]initWithString:@"1"];
        NSLog(@" is active value %@",isActiveStr);
    }

现在我不知道如何使用else条件…我运行这段代码,但它总是运行时,只有在其他条件,我希望我的代码是真的,它在如果条件是假的,它在else part.And如何使用按钮的图像属性来检查条件。

EN

回答 5

Stack Overflow用户

发布于 2011-09-26 12:23:38

你必须有一个标志变量来保存按钮的状态(选中/取消选中)。

代码语言:javascript
运行
AI代码解释
复制
BOOL checked;

而且,当你点击按钮时,你必须更新它。

代码语言:javascript
运行
AI代码解释
复制
- (void)onButtonTapped:(UIButton *)button {

    checked = !checked;
    ...
}

并像这样修改if语句,

代码语言:javascript
运行
AI代码解释
复制
if (checked) {

    // The button is checked

} else {

     // The button is not checked
}
票数 1
EN

Stack Overflow用户

发布于 2011-09-26 12:22:39

尝试执行以下if语句:

代码语言:javascript
运行
AI代码解释
复制
if ([[myButton imageForState:UIControlStateNormal] isEqual:[UIImage    imageNamed:@"checkbox_ticked.png"]]) {
...

但对我来说,这是一种糟糕的方法,最好有一些bool标志来指示按钮已被选中。

票数 0
EN

Stack Overflow用户

发布于 2011-09-26 12:24:47

if条件的计算结果始终为true。相反,您应该检查myButton状态,看看它是否已启用。您可能需要根据需要添加IBOutlet或IBAction。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7554880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档