【发布时间】:2019-03-30 12:25:05
【问题描述】:
我有一个位于 UIView 子视图内的 UIButton。视图看起来很好,但按钮没有响应触摸。子视图是嵌入到容器视图中的两个独立的 ViewController。
在情节提要上,所有视图、控制器和按钮都启用了用户交互。我还以编程方式启用了子视图的用户交互。
代码如下:
@IBOutlet var showtimeView: UIView!
@IBOutlet var reviewView: UIView!
var viewTwo: UIView!
var viewThree: UIView!
override func viewDidLoad() {
super.viewDidLoad()
viewTwo = ShowtimesView().view
showtimeView.addSubview(viewTwo)
viewThree = ReviewsView().view
reviewView.addSubview(viewThree)
showtimeView.isUserInteractionEnabled = true
reviewView.isUserInteractionEnabled = true
viewTwo.isUserInteractionEnabled = true
viewThree.isUserInteractionEnabled = true
}
@IBAction func segmentChange(_ sender: Any) {
switch(segment.selectedSegmentIndex) {
case 0:
detailsView.isHidden = false
showtimeView.isHidden = true
reviewView.isHidden = true
break
case 1:
detailsView.isHidden = true
showtimeView.isHidden = false
reviewView.isHidden = true
break
case 2:
detailsView.isHidden = true
showtimeView.isHidden = true
reviewView.isHidden = false
break
default:
break
}
}
还有什么可能会阻止位于子视图内的 UIButton 响应触摸?
编辑:我更改了容器的颜色以检查它是否覆盖了视图控制器。容器没有出现在子视图视图控制器的前面。子视图仍然没有响应触摸。
【问题讨论】:
-
正如@smartcat 提到的,您的按钮可以被清晰的视图所覆盖。添加视图层次结构的屏幕截图,如 Interface Builder 中所示。
标签: ios swift uiview uibutton subview