另一個類我有一個IBOutlet在ViewController.swift稱爲backgroundView
使用IBOutlet中從迅速
class ViewController: UIViewController, SideBarDelegate {
@IBOutlet weak var backgroundView: UIView!
而且我想使用IBOutlet中上SideBar.swift
@objc protocol SideBarDelegate{
func sideBarDidSelectButtonAtIndex(index:Int)
optional func sideBarWillClose()
optional func sideBarWillOpen()
}
//When an item of the sidebar is selected, and also when the sidebar will open or close
class SideBar: NSObject, SideBarTableViewControllerDelegate {
func handleSwipe(recognizer:UISwipeGestureRecognizer){
let bgv = ViewController()
if recognizer.direction == UISwipeGestureRecognizerDirection.Right {
showSideBar(false)
delegate?.sideBarWillClose?()
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light)
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.frame = bgv.backgroundView.bounds
bgv.backgroundView.addSubview(blurView)
} else {
showSideBar(true)
delegate?.sideBarWillOpen?()
}
}
但表示側時酒吧,背景不模糊。 有什麼不對?
我想怎麼回事是,你必須確保ViewController是視圖控制器iboutlet連接到同一個實例。現在你只是實例化一個沒有筆尖或故事板的新的ViewController –
謝謝!我明白了什麼是錯的:D – Songshil