2016-06-27 3 views
0

У меня есть несколько подзонов в моем основном контроллере представления, я использую кнопку удаления, чтобы удалить одно подвью за раз. Я пытаюсь разрешить пользователю возвращать вид, который был удален, но представление не возвращается. Есть предположения? В Свифт.Добавление UIView назад к просмотру

@IBOutlet var tornView: UIView! 
var deleted = 1 

// Delete Button 
    @IBAction func deleteViewButton(sender: AnyObject) { 
     if deleted == 1 { 
      tornView.removeFromSuperview() 
      deleted = 2 
     } 
    } 

// Brings View to Screen 
@IBAction func showTornAnnotation(sender: AnyObject) { 
     if toggleState == 1 { 
      firstSlider.hidden = false 
      tornView.hidden = false 
      toggleState = 2 
      if deleted == 2 { 
       view.addSubview(tornView) 
      } 
     } 
     else { 
      firstSlider.hidden = true 
      tornView.hidden = true 
      toggleState = 1 
     } 
    } 
+0

так, что это проблема? –

+0

@AnilVarghese Вид не возвращается на экран. –

+0

@FrankBoccia, где вы настраиваете свой 'tornView'? – skunkmb

ответ

1

Если вы хотите IBOutlet быть удалены из superView и получить его added тогда вы должны всегда использовать strong ссылки на ваш IBOutlet. Говоря, что вы также должны сохранить позицию удалённого view, чтобы вы могли использовать его, когда будете готовы его добавить.

Edit: Пример кода

@IBOutlet var customView: UIView! 
var customViewFrame: CGRect? 

override func viewDidLoad() { 
    super.viewDidLoad() 
    customView.backgroundColor = UIColor.blueColor() 
} 
@IBAction func remove(sender: AnyObject) { 
    customViewFrame = customView.frame 
    customView.removeFromSuperview() 
} 

@IBAction func add(sender: AnyObject) { 
    if let rect = customViewFrame { 
     customView = UIView.init(frame: rect) 
     customView.backgroundColor = UIColor.blueColor() 

     view.addSubview(customView) 
     view.bringSubviewToFront(customView) 
    } 
} 
+0

как я могу сохранить позицию? –

+0

Я обновил ответ с примером кода, пожалуйста, попробуйте. – Santosh

+0

Огромное вам спасибо, так или иначе, я могу наследовать свойства исходного вида или нет? –

Смежные вопросы