以编程方式使用自定义UIButton调用ViewController PopOver

时间:2013-02-24 19:57:33

标签: iphone ios objective-c xcode ipad

我已在我的实施文件的UIButton部分中定义了自定义viewDidLoad的宽度,高度和位置。如果我要在IB中拖放此按钮,我可以按住它并将其拖动到另一个视图控制器并选择PopOver

除非有办法将IBOutlet附加到我不知道的自定义UIButton,因为我的自定义按钮未显示在Interface Builder中,我该如何调用在我的实施文件中单击自定义PopOver的操作中UIViewController的{​​{1}}?

这是我定义自定义按钮的方式:

UIButton

3 个答案:

答案 0 :(得分:0)

如果我理解正确,您的自定义按钮是UIButton的子类。因此,在IB中,将常规按钮放在正确的位置,然后导航到右侧窗格中的Identity检查器,并在类字段中输入您的自定义按钮类名,以便IB按钮变为CustomUIButton。你可以像其他常规按钮一样工作。

您必须在视图控制器的.h文件中导入自定义类。

希望它有所帮助。

答案 1 :(得分:0)

通过界面构建​​器将操作touchupinside连接到方法buttonTapped:。 这样做

  • 右键单击Interfacebuider上的按钮,
  • 在窗口中会有一系列操作。
  • 单击并拖动触摸屏,然后将其放在viewcontroller对象上
  • 然后另一个窗口显示方法并将其与所需的方法连接.Thats it

完成此tutorial

编辑:

  [hardButton1 addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

self是您定义方法buttonPressed的地方:

编辑2:

从评论我认为问题可能是按钮图像 或框架。设置图像的背景颜色并进行测试。另外检查你是否设置了带扩展名的正确图像名称。如果按钮可见,请输入一个断点并测试该方法

答案 2 :(得分:0)

这样的事情:

- (IBAction) buttonTapped:(id) sender
{
    [self performSegueWithIdentifier:@"mySegue" sender:self];
}

其中mySegue是一个弹出窗口,您已从包含的viewController拖动到要弹出的窗口。你创建了segue然后在IB的segue的'Identifier'框中输入了一个名字,然后在这里我使用了同名,我把'mySegue'放在了一起。

screen grab showing segue identifier

我已经环绕了你必须按下的两个按钮才能看到这个显示;那么你只需要选择你想要处理的segue。您可以在图片中选择它(单击箭头中间),也可以在故事板中的项目列表中选择它。