簡體   English   中英

在用戶選擇時動態刪除自定義UIView /在iOS Swift中高亮顯示

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM