2016-06-27 9 views
0

メインビューコントローラに複数のサブビューがありますが、削除ボタンを使って一度に1つのサブビューを削除しています。ユーザーが削除されたビューを元に戻すことを許可しようとしていますが、ビューは戻っていません。何かご意見は?スウィフトで。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

あなたはIBOutletsuperViewから削除したいと取得した場合、それは、あなたは常にあなたのIBOutletstrongの参照を使用する必要がありますバックadded。あなたはまた、あなたが戻ってそれを追加する準備ができているときに使用できるように、削除されたviewの位置を保つ必要があると言われています。

編集:サンプルコード

@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

ありがとう、とにかく元のビューのプロパティを継承することはできますか? –

関連する問題