【发布时间】:2015-05-20 10:29:25
【问题描述】:
我使用以下代码以编程方式创建了一个 UIButton:
myButton = [UIButton new];
[myButton setImage:[UIImage imageNamed:@"myButtonNormal"]
forState:UIControlStateNormal];
[myButton setBackgroundImage:[UIImage imageNamed:@"myButtonBackgroundNormal"]
forState:UIControlStateNormal];
myButton.alpha = MY_BUTTON_ALPHA;
[myButton addTarget:self
action:@selector(myButtonSelector:)
forControlEvents:UIControlEventTouchUpInside];
[self.parentViewController.view insertSubview:myButton
atIndex:10];
现在我遇到的问题是在点击按钮时突出显示按钮。它工作得很好,即点击按钮颜色会改变,除非我点击按钮左侧的边框。为了说明这一点:
当点击按钮的绿色部分时,一切都很好,按钮被突出显示。单击红色部分时,将调用按钮的选择器,即按钮有效,但突出显示无效。
我在模拟器上对此进行了测试,以便能够进行更精确的敲击。
至于按钮的定位,我以编程方式设置了它的约束,使其实际上位于其父视图之外。父视图有一个附加的手势识别器,我正在玩它试图查看识别器是否干扰按钮,但是当点击按钮时没有调用父视图的 UIGestureRecognizerDelegate 方法。
知道这里可能是什么问题吗?
【问题讨论】:
-
如何更改按钮的颜色?你有子类
UIButton吗? -
不,我依赖于默认的 iOS 行为。
标签: ios objective-c uibutton uigesturerecognizer