私はタブビューコントローラを持ち、タブコントローラの1つはビューコントローラです。 swiftを使用して、ユーザーが画像をタップすると、そのビューコントローラ内にコレクションビューコントローラを読み込む必要があります。 これはプログラムで行うことができますか?私は3つのタブをタブビューコントローラーに持っていて、そのうちの1つだけを行う必要があります。 これまでに行ったこと: 新しいスウィフトファイルを追加しました。それにhome.swift 追加この:ビューコントローラ内のコレクションビューコントローラを素早くロードする
class EventsController: UICollectionViewController
{
override func viewDidLoad() {
super.viewDidLoad()
print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
}
}
は、その後、私はEventsControllerにビューコントローラのクラスを変更し、それは次の例外がスローされます。 例外「NSInternalInconsistencyException」、理由: [UICollectionViewController loadViewメソッド]インスタンス化ビューをコントローラー 識別子ホームストーリーボードからMain、しかしUICollectionViewを取得しなかった
申し訳ありませんが、私はこれに従うことができません。私が言ったように、私は既に新しいView Controllerをタブバーコントローラの新しいタブとして追加しました。私は、新しいSWIFTファイル、home.swiftを追加し、その中に私は、このクラスを追加しました:クラスEventsController:UICollectionViewController { オーバーライドのviewDidLoad FUNC(){ super.viewDidLoad() プリント( "!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ") //collectionView?.registerClass(EventCell.self、forCellWithReuseIdentifier:セルID ) –
どの部分があなたを混乱させましたか? –
私が言ったように、私は既に新しいView Controllerをタブバーコントローラの新しいタブとして追加しました。私は、新しいSWIFTファイル、home.swiftを追加し、その中に、私はこのクラスを追加しました:クラスEventsController:UICollectionViewController { オーバーライドのviewDidLoad FUNC(){ super.viewDidLoad() プリント( "!!!!") } }そして、このクラスをこのタブで使用するように設定しました。結果は次のとおりです:例外 'NICnternalInconsistencyException'、理由:[UICollectionViewController loadView]インスタンス化されたView Controller with storyboard Main、しかしUICollectionViewを取得しませんでした –