rankingViewControllerに押したらtop画面(topViewController)へ行くボタンを作りたくてコードを書きましたがlet storyboard:UIStoryboard = self.storyboard!のところでnilだというエラーが出ます。
ちなみにstoryboardではnavigationcontrollerとsegueが設定されています。
よろしくお願いします。
swift
1class RankingViewController: UIViewController { 2 3//ホームボタン 4 let homeButton = UIButton() 5 homeButton.frame = CGRect(x:0,y:0,width:viewWidth/3,height:margin/2) 6 homeButton.backgroundColor = UIColor.gray 7 homeButton.setTitle("ホームへ", for: .normal) 8 homeButton.addTarget(nil, action: #selector(RankingViewController.gotoHomeButton), for: .touchUpInside) 9 self.view.addSubview(homeButton) 10 11 @objc func gotoHomeButton(_ sender: Any){ 12 13 let storyboard:UIStoryboard = self.storyboard! 14 15 let topVC = storyboard.instantiateViewController(withIdentifier: "Top") as! TopViewController 16 17 self.present(topVC,animated:true, completion:nil) 18 19 20 } 21}
このコードはどこに書いているのでしょうか?
class ほげ: ほげほげ { を書いて下さい。(逆に、ボタンの定義部分は不要です)あと、コードの編集に合わせて質問文も修正して下さい。「一番上の行に」では分かりません。
RankingViewControllerはStoryboardから生成しているのでしょうか?生成している場合、TopViewControllerと同じStoryboard上にあるのでしょうか?
同じストーリーボード上にあります。でもlet topvc = TrapRankViewController()でpresentするとできます。
「RankingViewControllerはStoryboardから生成しているのでしょうか?」の回答をお願いします。
ごめんなさい。生成してます。
それだとnilにならないと思うんですけどね。どうやって生成しているのでしょうか?
stpryboardでUIViewcntrollerを持ってきて、新しいファイルを作るところからUIVIewcontrollerのクラスを作って、連携させてます。これはstoryboardから生成とは別ですか?
RankingViewControllerはアプリ起動時、一番最初に表示されるViewControllerなのでしょうか?(Is Initial View Controllerに✓が入っているのかどうか?)
あなたの回答
tips
プレビュー