ios - 切换按钮图像

标签 ios ios4 checkbox uiimage

在我实现了为按钮提供检查图像的代码之后,但我想为没有按钮提供检查图像。

注意:如果我点击一个按钮可以显示检查图像,同时我点击另一个按钮检查该特定按钮上显示的图像,并且前一个按钮回到正常位置。

我在这里实现了单个按钮的代码。

-(void) setChecked:(BOOL) check 


{


_checked = check;


if( _checked )


{
    UIImage* img = [UIImage imageNamed:@"btn_check_on.png"];

[self setImage:img forState:UIControlStateNormal];

   }
    else

{

    UIImage* img = [UIImage imageNamed:@"bread_Wheat_rectangle.png"];


    [self setImage:img forState:UIControlStateNormal];


}


}

上面的代码执行成功,但是没有按钮如何使用这段代码。

请建议有关我的问题的任何教程

最佳答案

这就是我为一个按钮实现它的方式。您也可以将它用于更多按钮。

-(IBAction)ButtonAction
{

    if (Flag==0) 
    {
        Flag=1;
        [myButton setImage:[UIImage imageNamed:@"checkbox-filled.png"] forState:UIControlStateNormal];  

    }
    else
    {
        [myButton setImage:[UIImage imageNamed:@"checkbox.png"] forState:UIControlStateNormal];
       Flag=0;

    }
}

注意:如果您只想选中一个按钮,只需将所有其他按钮图像设置为 checkbox.png 并将所选按钮的图像设置为 checkbox-filled.png。

编辑

您可以为复选框创建一个类,然后使用它。这是代码...

CheckButton.h

#import <Foundation/Foundation.h>


@interface CheckButton : UIButton {
    BOOL        _checked;
    int chkButtonClickVal;
}

@property (nonatomic, setter=setChecked:) BOOL checked;

-(void) setChecked:(BOOL) check;
-(int)chkButtonClickVal;
@end

CheckButton.m

#import "CheckButton.h"


@implementation CheckButton
@synthesize checked = _checked;

-(id) init
{
    if( self=[super init] )
    {
        chkButtonClickVal=0;
        self.checked = NO;
        [self addTarget:self action:@selector(OnCheck:) forControlEvents:UIControlEventTouchUpInside];
    }
    return self;
}

-(void) awakeFromNib
{
    self.checked = NO;
    [self addTarget:self action:@selector(OnCheck:) forControlEvents:UIControlEventTouchUpInside];
}

-(void) dealloc
{
    chkButtonClickVal=0;
    [super dealloc];
}

-(void) setChecked:(BOOL) check 
{
    _checked = check;
    if( _checked )
    {
        UIImage* img = [UIImage imageNamed:@"checkbox-checked.png"];
        [self setImage:img forState:UIControlStateNormal];
        chkButtonClickVal=1;

    }
    else
    {
        UIImage* img = [UIImage imageNamed:@"checkbox.png"];
        [self setImage:img forState:UIControlStateNormal];
        chkButtonClickVal=2;
    }
    //NSLog(@"%d",chkButtonClickVal);
}

-(int)chkButtonClickVal
{
    return chkButtonClickVal;   
}

-(void) OnCheck:(id) sender
{
    self.checked = !_checked;
}

@end

我也是这样操作的。试试你就可以实现它。 祝你好运:)

关于ios - 切换按钮图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10185106/

相关文章:

ios - 让iOS中的任务后台与Android中的服务相同的解决方案是什么?

IOS - Google Admob - 错误域=com.google.ads 代码=1 "Request Error: No ad to show."

iphone - Google api 方向 - 绘制路线无效

jquery - 检查表 td 中是否选中了复选框

ios - Pan 手势识别器 : Location of touch crashes once the pan gesture is released

iphone - 兼容iPhone,iPod touch和

iphone - 如何在 iPad 中打开包含宏的 xls 文件(实用)?

javascript - 选择表中行具有样式显示标记的所有复选框

从 Codeigniter 中的复选框动态选择表列的 SQL 查询?

objective-c - @synchronized() 作为 Objective-C 中的单例方法有什么作用?