現状のswiftの動き
①pickerViewで項目を選択後、Navigation varの「Next」で画面遷移
②画面遷移先では、Navigation varを非表示にしており、
左端のエッヂをスワイプすることで、前の画面に戻ることができる。
③前の画面に戻ると、Navigation varが消えており、「Next」ボタンもない。
実現したいこと
画面遷移前の画面では、常にNavigation varを表示させ、
画面遷移後の画面では、常にNavigation varを非表示にさせたいです。
(画面遷移後の画面では、左エッヂをスワイプすることでひとつ前の画面に戻る)
ご教授のほど、よろしくお願い致します。
該当のソースコード
import UIKit class ViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate { var mark = ["hart", "spade", "daiya", "club"] func numberOfComponents(in pickerView: UIPickerView) -> Int { return 1 } func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return mark.count } func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return mark[row] } func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { pickLabel.text = mark[row] } @IBOutlet weak var pickLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. pickLabel.text = "hart" } @IBAction func nextButton(_ sender: Any) { performSegue(withIdentifier: "nextPages", sender: nil) } // perfonrmSegue が実行された後に呼び出される処理 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { // segue の遷移先が secondViewCOntroller だった場合の処理 if let nextVC = segue.destination as? secondPagesViewController { // nextVC (= secondViewController のインスタンス) の imageName にラベルの値を入れる nextVC.imageName = pickLabel.text } } }
画面遷移先のコード
import UIKit class secondPagesViewController: UIViewController, UIGestureRecognizerDelegate { func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool { return true } override func viewWillAppear(_ animated: Bool) { navigationController?.interactivePopGestureRecognizer?.delegate = self super.viewWillAppear(animated) self.navigationController?.setNavigationBarHidden(true, animated: animated) } var imageName: String! override func viewDidLoad() { super.viewDidLoad() navigationController?.interactivePopGestureRecognizer?.delegate = self print(imageName!) } @IBAction func addImage(_ sender: UITapGestureRecognizer) { let mark = UIImageView(image: UIImage(named: imageName)) mark.frame = CGRect(x: 0, y: 0, width: 100, height: 100) mark.center = sender.location(in: self.view) self.view.addSubview(mark) } }
使用している言語
swift
Xvode 11.4
ご教授のほど、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/06 04:51