隐藏/显示&启用/禁用按钮?

时间:2013-07-18 17:39:56

标签: ios objective-c uibutton uikit hidden

我在iOS开发方面很陌生,我在GUI中隐藏/显示按钮时遇到了一些麻烦。因为我需要一些按钮来显示或消失,以及启用或禁用。我在网上关注了一些很棒的教程,但无法弄清楚我的代码出了什么问题。

这是我的ViewController.h:

/
//  ViewController.h
//  WeddingVideoBooth
//
//  Created by Frédéric Mouza on 15/07/13.
//  Copyright (c) 2013 Frédéric Mouza. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{

    IBOutlet UIButton *but_record;

}

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

- (IBAction)but_record:(UIButton *)sender;

@end

和我的.m文件:

//
//  ViewController.m
//  WeddingVideoBooth
//
//  Created by Frédéric Mouza on 15/07/13.
//  Copyright (c) 2013 Frédéric Mouza. All rights reserved.
//

#import "ViewController.h"
#import "MobileCoreServices/UTCoreTypes.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize  but_record;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    but_record.hidden=YES;
}

- (void)didReceiveMemoryWarning

{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)but_record:(UIButton *)sender {
        but_record.enabled=NO;    
}

@end

这很简单,要理解,我只想在你点击它时禁用按钮...当前,点击它时按钮保持不变。我还尝试使用“but_record.hidden=YES”属性隐藏它,但没有任何效果。

请问有人有想法吗?

再次感谢

2 个答案:

答案 0 :(得分:0)

NSLog()中添加but_record以查看是否实际调用了IBAction。听起来这并没有触发,因为您可能没有在Interface Builder中将它们链接在一起。如上所述,取出hidden=YES

答案 1 :(得分:0)

好的,只是总结并正确结束问题。

对于大多数人来说这可能是显而易见的,但在处理界面时,必须要小心: 如果你创建一个按钮,将它链接到界面,给它属性...然后你复制它Xcode保留副本中的前一个链接,如果你通过控制+拖动你的.h文件创建一个新的链接,前一个链接仍然可以取代新的链接。

因此,为了防止这种情况,您必须在复制按钮之后但在创建新链接之前从链接选项卡中删除现有链接。 这对我有用。

希望这会有所帮助,

佛瑞德