[英]Remove custom UIView(s) dynamically on user selection/highlighed in ios swift
我是新手,请提供最好的方法来实现这一目标。 假设当用户选择/突出显示一个特定的视图(例如第二个UIView)时,是否在父视图下添加了3到4个(自定义)UIView,它将被删除并且整个布局将立即重新呈现。 任何想法?
将所有视图连接到一个IBOutletCollection,添加用于点击的手势识别器,然后在识别器回调中获取接触点,并检查该点是否包含在插座集合的视图之一中。
@IBOutlet var views: [UIView]!
override func viewDidLoad() {
super.viewDidLoad()
let tapGesture = UITapGestureRecognizer(target: self, action: Selector("viewTapped:"))
self.view.addGestureRecognizer(tapGesture)
}
func viewTapped(tapGesture: UITapGestureRecognizer) {
let locationInView = tapGesture.locationInView(view)
for v in views {
if CGRectContainsPoint(v.frame, locationInView) {
v.removeFromSuperview()
}
}
}
确保为每个视图都不存在的状态设置了自动布局设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.