0

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

除非有一种方法可以将一个附加IBOutlet到我不知道的这个自定义UIButton上,因为我的自定义按钮没有显示在界面生成器中,否则我如何在我的实现中单击我的自定义的操作中调用PopOver一个文件?UIViewControllerUIButton

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

self.hard1 = [UIButton buttonWithType:UIButtonTypeCustom];
[self.hard1 setFrame:CGRectMake(884, 524, 105, 60)]; // set the x,y,width and height
UIImage *buttonImage = [UIImage imageNamed:@"green.jpg"];
self.hard1.layer.cornerRadius = 10;
self.hard1.clipsToBounds = YES;
[self.hard1 addTarget: self
          action: @selector(buttonTapped:)
forControlEvents: UIControlEventTouchUpInside];
[self.hard1 setImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:self.hard1];
4

3 回答 3

0

如果我理解正确,您的自定义按钮是 UIButton 的子类。所以在 IB 中,在正确的位置放置一个常规按钮,然后导航到右侧窗格中的身份检查器,并在类字段中输入您的自定义按钮类名称,以便 IB 按钮变为 CustomUIButton。您可以像使用常规按钮一样处理其他所有内容。

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

希望能帮助到你。

于 2013-02-24T20:11:06.937 回答
0

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

  • 右键单击 Interfacebuider 上的按钮,
  • 在窗口中会有动作列表。
  • 单击并拖动 touchUpInside 并将其放在 viewcontroller 对象上
  • 然后另一个窗口显示方法并将其与所需的方法连接。就是这样

浏览本教程

编辑 :

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

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

编辑2:

从评论中我认为问题可能出在按钮图像或框架上。为图像设置背景颜色并进行测试。还要检查您是否设置了带有扩展名的正确图像名称。放置断点并测试如果按钮可见则点击该方法

于 2013-02-24T20:26:38.770 回答
0

像这样的东西:

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

mySegue你从包含的 viewController 拖到你想要弹出的那个的 popover segue在哪里。您创建 segue,然后在 IB 中的 segue 的“标识符”框中输入一个名称,然后在此处使用我放置“mySegue”的相同名称。

显示 segue 标识符的屏幕截图

我已经按下了您必须按下的两个按钮才能看到此显示;那么你只需要选择你想要处理的segue。您可以在图片中(单击箭头中间)或情节提要的项目列表中选择它。

于 2013-02-24T20:27:16.267 回答