如何在viewDidLoad上隐藏在Storyboard上创建的IBAction按钮?

时间:2014-03-05 22:09:46

标签: ios objective-c ibaction

iOS 7,XCode 5,使用Storyboard。

我有一个TableViewController。 在TVC内部我有2个自定义单元格。其中一个单元格包含在Storyboard上创建的“提交订单”按钮。 然后将该按钮添加到代码中作为IBAction

我无法弄清楚如何获得对IBAction按钮的引用,因此我可以将其“hidden”属性设置为true。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

您需要将TableViewController中的IBOutlet引用设置回按钮。 IBAction表示按钮将发送目标的消息。 IBOutlet表示返回控件本身的引用。

该过程类似于您(可能)首先用于创建IBAction的过程。添加一行“@property(nonatomic,weak)IBOutlet UIButton *按钮;”到你的TableViewController.h文件。然后在“界面”构建器中,从TableViewController控制拖动到按钮,然后从弹出窗口中选择插座。

FWIW,隐藏非活动按钮通常是糟糕的UI,最好只是禁用它。 (enabled = false)

答案 1 :(得分:0)

使用插座引用头文件中的按钮,然后在代码中禁用它的功能(可能是viewDidLoad)使用:     self.myButton.enabled = NO; 然后,如果您想让它不可见,请使用:     self.myButton.alpha = 0;

然后,当您想再次使用该按钮时,请执行相反的操作

答案 2 :(得分:0)

首先,您需要在TableViewController类的代码中创建对该按钮的引用:

@property(nonatomic, assign)IBOutlet UIButton * button;

接下来,您需要切换到nib / xib或storyboard文件。在左侧“占位符”内侧边栏上,确保选中了文件的所有者,在故事板中是您的TableViewController。这会切换上下文以确保右侧边栏引用TableViewController。

右侧边栏上的最后一个标签现在应该有一个条目button(或者您在控制器上称为属性的任何内容。)。将加号圈图标拖到您正在使用的按钮上。这将在控制器中创建对该按钮对象的引用。我猜你的按钮属于班级UIButton

回到viewDidLoad方法,您现在可以使用该属性更改该按钮。

self.button.alpha = 0;
//Alternative to making the button diappear...
self.button.enabled = NO;