【发布时间】:2014-09-27 04:41:00
【问题描述】:
我以编程方式创建了一个 UIButton 并将其放入一个属性中:
UIButton *button = _homeButton;
UIImage *image = [UIImage imageNamed:@"homeButton"];
button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(checkHide:) forControlEvents:UIControlEventTouchUpInside];
[button setBackgroundImage:image forState:UIControlStateNormal];
button.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, image.size.width, image.size.height);
[[self superview] insertSubview:button belowSubview:self];
现在,让我们检查选择器:
由于某种原因,这有效:
- (void)checkHide:(UIButton *)sender {
[sender removeFromSuperview];
}
但这不是:
- (void)checkHide:(UIButton *)sender {
[_homeButton removeFromSuperview];
}
为什么我需要后一种解决方案?因为我想通过点击另一个按钮来删除这个特定的按钮。所以,我无法从中获得任何发件人。尽管如此,checkHide 方法中的代码仍然在执行,在这种情况下,我无法使用 iVar 或属性使用按钮进行操作。有什么想法吗?
【问题讨论】:
标签: ios objective-c properties uibutton instance-variables