0

我有两个类,一个View和一个ViewController.创建View一个按钮如下:

_button = [[UIButton alloc] initWithFrame:CGRectMake(50, 0, buttonImage.size.width, buttonImage.size.height)];
[_button setImage:buttonImage forState:UIControlStateNormal];
[_button setImage:[UIImage imageNamed:@"btn_learn_focus_pad"] forState:UIControlEventTouchUpInside];
[_button addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
[_someView addSubview:_button];

在中ViewController,我在中实例化视图后loadView,添加一个选择器如下:

[view.button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

选择器没有被调用。我试图NSLogViewController按钮的位置,它打印出一个零。我怀疑 ARC 正在释放按钮。_button但是,是一个strong指针 ( @property)。所以我不确定为什么会这样。

我该如何解决这个问题?

4

1 回答 1

0

您没有使用由属性合成生成的正确 getter/setter 方法。如果您只是将第一行更改为:

self.button = [[UIButton alloc] initWithFrame:CGRectMake(50, 0, buttonImage.size.width, buttonImage.size.height)];

它将正确保留指针

于 2012-06-04T20:44:03.897 回答