0
ボタンを押すとiOSアプリにサブビューが表示されました。次に、そのクラスからカスタムUIViewを呼び出すと、私のメインストーリーボードにそのUIViewを表示しますUIViewサブビューを削除するとSurperViewが応答しないのはなぜですか?
私のメインストーリーボードにはmenuViewが表示されますが、一度サブビューを削除すると、メインビューコントローラ)が応答しなくなり、何かと対話できなくなります。
どういうところが間違っていますか?
マイカスタム "menuView" のUIViewクラス:
import UIKit
@IBDesignable class menuView: UIView {
var view:UIView!
@IBOutlet weak var label: UILabel!
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: "menuView", bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
return view
}
func xibSetup() {
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]
addSubview(view)
}
override init(frame: CGRect) {
super.init(frame: frame)
xibSetup()
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
xibSetup()
}
}
メインビューコントローラクラス:
var myMenuView:menuView!
@IBOutlet weak var menuButtonOutlet: UIBarButtonItem!
@IBAction func buttonPressed(sender: AnyObject) {
if menuButtonOutlet.title == "Menu" {
if (myMenuView != nil) {
self.myMenuView.view.removeFromSuperview()
}
self.myMenuView = menuView(frame: self.view.bounds)
self.myMenuView.alpha = 0.75
self.view.addSubview(myMenuView)
menuButtonOutlet.title = "Back"
} else {
self.myMenuView.view.removeFromSuperview()
menuButtonOutlet.title = "Menu"
}
}