swift初学者です。
2画面間での遷移がうまくできせん。
画像に示した、③⇄④番での遷移の行き来を行いたいのですが、②の「編集」を押すと、③の画面に遷移するところまではいいのですが、③の「完了」を押すと遷移し④のように「編集」ボタンが非表示になり押せなくなります。
わかりにくい説明で申し訳ありませんが解決策を教えていただけると嬉しいです。
よろしくおねがいします。
swift
1 2//画像②、④のコード 3 4import UIKit 5 6//import DKImagePickerController 7 8class textViewController: UIViewController,UINavigationControllerDelegate { 9 10 11 var hennsyuButtonItem:UIBarButtonItem! 12 13 14 15 @IBOutlet weak var imageScrollView: UIScrollView! 16 @IBOutlet weak var nameLabel: UITextField! 17 @IBOutlet weak var addressLabel: UITextField! 18 @IBOutlet weak var dateLabel: UITextField! 19 @IBOutlet weak var hyoukaLabel: UITextField! 20 @IBOutlet weak var textView: UITextView! 21 22 23 override func viewDidLoad() { 24 super.viewDidLoad() 25 26 let appearance = UINavigationBarAppearance() 27 appearance.configureWithOpaqueBackground() 28 appearance.backgroundColor = .rgb(red: 173, green: 216, blue: 230) 29 navigationController?.navigationBar.tintColor = UIColor.white 30 //標準の高さ 31 navigationItem.standardAppearance = appearance 32 //ナビゲーションバーが透過する 33 navigationItem.scrollEdgeAppearance = appearance 34 //標準の文字の大きさ 35 navigationItem.compactAppearance = appearance 36 37 38 39 hennsyuButtonItem = UIBarButtonItem(title: "編集", style: .done, target: self, action: #selector(hennsyuButtonTapped(_:))) 40 self.navigationItem.rightBarButtonItem = hennsyuButtonItem 41 42 43 } 44// override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){ 45// 46// self.view.endEditing(true) 47// } 48 49 50 //編集ボタンを押したとき 51 @objc func hennsyuButtonTapped(_ sender: UIBarButtonItem){ 52 53 let storyboard : UIStoryboard = self.storyboard! 54 let hennsyuVC = storyboard.instantiateViewController(withIdentifier:"hennsyuViewController") as! hennsyuViewController 55 navigationController?.pushViewController(hennsyuVC, animated: true) 56 57 //self.present(hennsyuVC, animated: true, completion: nil) 58 } 59 60 61 62// let pickerController = DKImagePickerController() 63// // 選択可能な枚数を20にする 64// pickerController.maxSelectableCount = 5 65// pickerController.didSelectAssets = { [unowned self] (assets: [DKAsset]) in 66// 67// // 選択された画像はassetsに入れて返却されるのでfetchして取り出す 68// for asset in assets { 69// asset.fetchFullScreenImage(completeBlock: { (image, info) in 70// // ここで取り出せる 71// self.imageView.image = image 72// }) 73// 74// } 75// 76// 77// } 78// 79// self.present(pickerController, animated: true) {} 80// 81 82 83} 84
swift
1 2//画像③のコード 3 4import UIKit 5//import DKImagePickerController 6 7class hennsyuViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate { 8 9 var completButtonItem:UIBarButtonItem! 10 11 12 @IBOutlet weak var textField: UITextView! 13 14 var checkpermission = CheckPermission() 15 16 17 override func viewDidLoad() { 18 super.viewDidLoad() 19 20 let appearance = UINavigationBarAppearance() 21 appearance.configureWithOpaqueBackground() 22 appearance.backgroundColor = .rgb(red: 173, green: 216, blue: 230) 23 navigationController?.navigationBar.tintColor = UIColor.white 24 //標準の高さ 25 navigationItem.standardAppearance = appearance 26 //ナビゲーションバーが透過する 27 navigationItem.scrollEdgeAppearance = appearance 28 //標準の文字の大きさ 29 navigationItem.compactAppearance = appearance 30 31 checkpermission.checkCamera() 32 33 completButtonItem = UIBarButtonItem(title: "完了", style: .done, target: self, action: #selector(completButtonTapped(_:))) 34 35 self.navigationItem.rightBarButtonItem = completButtonItem 36 } 37 38 @IBAction func addImageButton(_ sender: Any) { 39 40 //アルバムを呼ぶ 41 let sourceType:UIImagePickerController.SourceType = .photoLibrary 42 createImagePicker(sourceType:sourceType) 43 44 } 45 46 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){ 47 48 self.view.endEditing(true) 49 } 50 51 func createImagePicker(sourceType:UIImagePickerController.SourceType){ 52 53 let cameraPicker = UIImagePickerController() 54 cameraPicker.sourceType = sourceType 55 cameraPicker.delegate = self 56 cameraPicker.allowsEditing = true 57 58 self.present(cameraPicker, animated: true, completion: nil) 59 60 } 61 62 //完了ボタンを押した時 63 @objc func completButtonTapped(_ sender: UIBarButtonItem){ 64 65 let storyboard : UIStoryboard = self.storyboard! 66 let textVC = storyboard.instantiateViewController(withIdentifier:"textViewController") as! textViewController 67 68 self.present(textVC, animated: true, completion: nil) 69 70 } 71 72 //+ボタンから飛んできたのきた時はBackボタン(ナビゲーション)押せるように→押したらcell消す 73 74}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/08 23:42
2022/06/08 23:52
退会済みユーザー
2022/06/09 00:57
2022/06/09 12:17
退会済みユーザー
2022/06/09 14:15 編集
2022/06/10 10:00
退会済みユーザー
2022/06/10 10:25
2022/06/13 08:55
退会済みユーザー
2022/06/13 09:02
2022/06/19 05:13