現在、コントローラを公開するためにパンジェスチャを取得しようとしています。現時点では、私のopenボタンは機能しますが、最後の行を追加すると、revealViewControllerがnilなのでプログラムがクラッシュします。ポッドへのリンク:https://github.com/John-Lluch/SWRevealViewController。Self.revealViewController()はnilを返す
import Foundation
import UIKit
class MainViewController : UIViewController{
@IBOutlet weak var mainButton: UIView!
@IBOutlet weak var Open: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated);
mainButton.makeCircle();
Open.target = self.revealViewController()
Open.action = #selector(SWRevealViewController.revealToggle(_:));
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer());
}
}
申し訳ありませんが、これはダムに聞こえるが、私はこれをどこに置けばいいのか?私はそのアプリケーションの代理人だと仮定していますが、すでにユーザーログイン用の別のルートビューコントローラがあります。アプリがクラッシュするようにします。修正があるのですか、それとも間違った場所に置いていますか?私に手伝ってくれてありがとう! – williej926
私は自分の答えを更新しました。最後のログイン状態を格納する変数があり、ユーザに再ログインさせるのではなくナビゲーション・ドロワー・メニューに直接ナビゲートしたい場合は、 'didFinishLaunchingWithOptions'を変更して、' rootViewController'が ' LoginViewController'または 'SWRevelViewController'を呼び出します。 – Lawliet