xcode9
クイズアプリをSwift4で作成しています。
コード①AppDelegateでイニシャルビューをCustomTabBarControllerに指定し、
コード①//AppDelegate です import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) window?.makeKeyAndVisible() window?.rootViewController = CustomTabBarController() } }
CustomTabBarControllerの 0タブ目に
コード②のMainViewControllerを設定し、
コード②//MainViewControllerです class MainViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout { override func viewDidLoad() { super.viewDidLoad() //タイトル navigationItem.title = "メインビュー" navigationController?.navigationBar.prefersLargeTitles = true collectionView?.backgroundColor = .orange //レジスター だよ collectionView?.register(MainCell.self, forCellWithReuseIdentifier: "cellId") } ●内容省略してます... // マイスコア ボタン遷移 @objc func buttonPush(_ sender: UIButton) { let vc = MyscoreController() //繊維先のレイアウト情報 let layout = UICollectionViewFlowLayout() layout.itemSize = CGSize(width: view.frame.width, height: view.frame.height) vc.collectionView = UICollectionView(frame: CGRect.zero, collectionViewLayout: layout) //カラー イエロー vc.collectionView?.backgroundColor = .yellow // navigationController?.pushViewController(vc, animated: true) } }
コード②からコード③MyscoreControllerへ遷移します。
コード③//MyscoreControllerです import UIKit class MyscoreController: UICollectionViewController,UICollectionViewDelegateFlowLayout { override func viewDidLoad() { super.viewDidLoad() navigationItem.title = "マイスコア" navigationController?.navigationBar.prefersLargeTitles = true // カラー グリーン collectionView?.backgroundColor = .green } }
遷移はできますが、コード③内の navigationItem.title = "マイスコア" や、
collectionView?.backgroundColor = .green カラー グリーンが反映されません。
ですので、
コード②の @objc func buttonPush内にvc.collectionView?.backgroundColor = .yellow を設定して、
コード③のビューは、コード②のイエローがバックカラーとして反映されています。
ですが希望としては、
コード③に反映されるバックカラーは、
できればコード③内に書いてシンプルに管理したいです。
思うように反映しない為質問させて頂きました。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/03/13 05:48
2018/03/13 05:55
退会済みユーザー
2018/03/13 05:57