2017-05-26 43 views
2

我在iOS swift 3.0中構建應用程序。我正在創建動態UIViews。我需要隨機刪除自定義視圖,但目前我無法重新定位職位,因爲我得到了兩個視圖之間的差距,我想刪除它們,如下圖所示代碼所示,請幫助我解決這個問題。刪除UIView後重新定位的問題

class ViewController: UIViewController { 
var myView: subView! 
var y : CGFloat! 
var tag : Int = 0 
@IBOutlet weak var addButton: UIButton! 

override func viewDidLoad() { 
    y = 1 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 
func cancelbutton(_ sender: UIButton) 
{ 
      let selectViewTagValue : Int = sender.tag /// save the selected view tag value 
      for object in self.view.subviews { 

      if ((object is subView) && object.tag == selectViewTagValue) 
      { 
       object.removeFromSuperview() 
      } 
     } 
} 
@IBAction func buttonAction(_ sender: Any) { 
    y = y + 110 
    myView = subView(frame: CGRect(x: 80, y: y, width: 300, height: 100)) 
    myView.tag = tag 
    myView.actionButton.tag = tag 
    tag = tag + 1 
    myView.backgroundColor = UIColor.green 
    myView.actionButton.addTarget(self, action: (#selector(cancelbutton(_:))), for: UIControlEvents.touchUpInside) 
    self.view.addSubview(myView) 

} 

enter image description here enter image description here

請幫我這個問題......「在此先感謝」

+1

您是否嘗試過使用堆棧視圖? – Lysdexia

+0

不,請發送任何參考鏈接,謝謝。 – sathiyaraj

+0

讓自動佈局形成你的頁面,你就可以使用良好的老式框架設置。 「我們從來沒有這樣的談話」。 – rptwsthi

回答

1

當你必須要顯示和動態重新排列的多個相似的看法,UITableView是一個聰明的選擇。重新安排框架將是乏味的維護,並需要大量的代碼來實現。爲什麼不使用UITableView提供的工具?只需使用deleteRowsAtIndexPaths即可刪除您的視圖,其餘部分將會照顧您。