[英]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.