iOS - 无法在不删除内容的情况下设置按钮“禁用”

时间:2012-03-29 15:50:49

标签: iphone objective-c ios xcode ipad

对不起应该是一个简单的解决方案。

我正在尝试使用以下代码'禁用'代码中的按钮:

在名为'CheckBox'的第一个类中:

checkBox.h:

@interface CheckBox : UIViewController 
{   
   BOOL checkboxSelected;
   UIButton *checkBoxButton;
}

 @property (nonatomic, retain) IBOutlet UIButton *checkBoxButton;


- (IBAction)checkBoxButton:(id)sender;


-(void) setCheckBoxSelected:(BOOL)checkingStatus;
-(void) setCheckBoxEnabled:(BOOL)enablingStatus;

在checkBox.m中:

- (IBAction)checkBoxButton:(id)sender {

if (checkboxSelected == 0){
    [checkBoxButton setSelected:YES];
    checkboxSelected = 1;

} else {

    [checkBoxButton setSelected:NO];
    checkboxSelected = 0;
      }
}

 -(void) setCheckBoxSelected:(BOOL)checkingStatus {

   checkBoxButton.selected = checkingStatus;
     }

 -(void) setCheckBoxEnabled:(BOOL)enablingStatus {

    [checkBoxButton setEnabled:enablingStatus];
   }

并在另一个名为'MainViewController.m'的类的实现中:

- (void)viewDidLoad{

     allTransactionCheckBox = [[CheckBox alloc] init];
     [self.viewWithdraw addSubview:withdrawCheckBox.view ]; 
     withdrawCheckBox.labelCheckBox.textColor = [UIColor blackColor];
     withdrawCheckBox.labelCheckBox.font = [UIFont systemFontOfSize:14];
     withdrawCheckBox.labelCheckBox.text = @"Withdraw";   

     [withdrawCheckBox setCheckBoxSelected:YES];
 }

上面的代码是'禁用'按钮,但它(删除/隐藏)按钮内的'复选标记图片'。为什么?

所有链接(插座+操作)都已连接。

我错过了什么明显的事情?感谢。

3 个答案:

答案 0 :(得分:1)

你到底想要做什么?也许设置userInteractionEnabled是你想要的? 干杯

答案 1 :(得分:0)

这看起来太复杂了,你想做什么。您有一个对按钮的引用 - checkBox按钮。只需使用checkBox Button.enabled = NO;

答案 2 :(得分:0)

您已在界面构建器中定义了该按钮。看起来您没有为所有控制状态设置图像 - 选择按钮并查看属性检查器 - 正常,突出显示等下拉列表是否为所有这些状态定义了复选标记图像?