IOS Swift3 как удалить пользовательский UIView случайным образом

Я создаю приложение iOS в swift 3, где я создаю динамические UIViews. Мне нужно удалить пользовательский просмотр случайным образом. Пожалуйста, помогите мне, я застрял с этим в течение долгого времени. Заранее спасибо

class ViewController: UIViewController { var myView: subView! var y : CGFloat! @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) { myView.removeFromSuperview() } @IBAction func buttonAction(_ sender: Any) { y = y + 110 myView = subView(frame: CGRect(x: 80, y: y, width: 300, height: 100)) myView.backgroundColor = UIColor.green myView.actionButton.addTarget(self, action: (#selector(cancelbutton(_:))), for: UIControlEvents.touchUpInside) self.view.addSubview(myView) } } 

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Как вы можете видеть в приведенном выше изображении, когда я нажимаю «Закрыть», SubView (custome View) закрывается, но там, где MyView с зеленым цветом не идет и остается там. Кто-то, пожалуйста, помогите ………

 required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) Bundle.main.loadNibNamed("subView",owner: self, options:nil) self.addSubview(self.views) Bundle.main.loadNibNamed("subView",owner: self, options:nil) self.addSubview(self.views) } override init(frame: CGRect) { super.init(frame: frame) Bundle.main.loadNibNamed("subView", owner: self, options: nil) views.frame = bounds self.addSubview(self.views) } @IBAction func buttonAction(_ sender: Any) { views.removeFromSuperview() } 

  • Создайте автоматический макет подкласса UIView с нестандартным размером в файле xib-файла Interface Builder
  • ios - прокрутка Текст - пользовательская анимация
  • Метод UIView swizzling swift 3
  • Добавьте subview через initWithFrame. Размер UINavigationBar
  • iPhone Google Chrome - экран выбора вкладок (сгруппированные UIViews)
  • Как взять UIView с набором фоновых рисунков и уменьшить его вертикально с помощью анимации
  • Как настроить статический UITableView как подпункт UIView?
  • Подкласс ViewController из раскадровки
  • 3 Solutions collect form web for “IOS Swift3 как удалить пользовательский UIView случайным образом”

    То, что вы делаете неправильно, заключается в том, что вы добавляете несколько представлений subView, которые вы выбрали не удалять. Пожалуйста, измените свой код, как показано ниже. Дело в том, что всякий раз, когда вы добавите новый subView вы также установите его значение тега и когда вы выберите представление, чтобы удалить его значение тега и поместите оператор if в значение этого тега.

     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) } 

    Мне удалось устранить проблему с удалением, но в настоящее время я не могу переместить позиции таможни, как показано на рисунке ниже. Пожалуйста, помогите мне в этом.

    введите описание изображения здесь введите описание изображения здесь

    Попробуйте изменить действие отмены следующим образом:

     func cancelbutton(_ sender: UIButton) { if let myView = sender.superview { myView.removeFromSuperview() } } 

    Просто удалите представление контейнера кнопки, а не глобальный myView.

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.