質問編集履歴
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,6 @@
|
|
13
13
|
class ScrollMapViewController: UIViewController, UIImagePickerControllerDelegate, UIScrollViewDelegate, UINavigationControllerDelegate {
|
14
14
|
var imageView = UIImageView()
|
15
15
|
var scrollView = UIScrollView()
|
16
|
-
var defaults = UserDefaults.standard
|
17
16
|
|
18
17
|
override func viewDidLoad() {
|
19
18
|
super.viewDidLoad()
|
@@ -21,11 +20,13 @@
|
|
21
20
|
style: .plain, target: self, action: #selector(MapButtonTap(sender:)))
|
22
21
|
self.navigationItem.rightBarButtonItems = [MapButtonItem]
|
23
22
|
|
23
|
+
if MenuTagNo == 1 {
|
24
|
-
|
24
|
+
let picker = UIImagePickerController()
|
25
|
-
|
25
|
+
picker.sourceType = .photoLibrary
|
26
|
-
|
26
|
+
picker.delegate = self
|
27
|
-
|
27
|
+
present(picker, animated: true)
|
28
|
-
|
28
|
+
self.present(picker, animated: true)
|
29
|
+
}
|
29
30
|
|
30
31
|
let screenWidth:CGFloat = self.view.frame.width
|
31
32
|
let screenHeight:CGFloat = self.view.frame.height
|
@@ -37,17 +38,14 @@
|
|
37
38
|
self.view.addSubview(scrollView)
|
38
39
|
self.scrollView.addSubview(imageView)
|
39
40
|
}
|
40
|
-
@objc func MapButtonTap(sender: UIButton) {
|
41
|
+
@objc func MapButtonTap(sender: UIButton) {
|
41
|
-
defaults.UIImageToData(image: imageView.image!, forKey: "image")
|
42
|
-
|
43
|
-
let storyboard: UIStoryboard = self.storyboard!
|
44
|
-
let MapVC = storyboard.instantiateViewController(withIdentifier: "Map") as! MapViewController
|
42
|
+
let MapVC = storyboard?.instantiateViewController(withIdentifier: "Map") as! MapViewController
|
45
43
|
MapVC.MapImageView = imageView
|
46
44
|
navigationController?.pushViewController(MapVC, animated: true)
|
47
45
|
}
|
48
46
|
|
49
47
|
func reSetupImageView() {
|
50
|
-
|
48
|
+
self.scrollView.addSubview(imageView)
|
51
49
|
}
|
52
50
|
|
53
51
|
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
|
@@ -59,7 +57,6 @@
|
|
59
57
|
let hRate = scrollView.bounds.height / size.height
|
60
58
|
let rate = min(wRate, hRate, 1) * 5
|
61
59
|
imageView.frame.size = CGSize(width: size.width * rate, height: size.height * rate)
|
62
|
-
// contentSize を画像サイズと同じにする
|
63
60
|
scrollView.contentSize = imageView.frame.size
|
64
61
|
}
|
65
62
|
self.dismiss(animated: true)
|
@@ -69,26 +66,6 @@
|
|
69
66
|
self.dismiss(animated: true)
|
70
67
|
}
|
71
68
|
}
|
72
|
-
|
73
|
-
// https://qiita.com/tomoyuki_HAYAKAWA/items/d9a2ccb5c76d9c276d1c
|
74
|
-
extension UserDefaults {
|
75
|
-
// 保存したいUIImage, 保存するUserDefaults, Keyを取得
|
76
|
-
func UIImageToData(image: UIImage, forKey: String) {
|
77
|
-
// UIImageをData型へ変換
|
78
|
-
let nsdata = image.pngData()
|
79
|
-
// UserDefaultsへ保存
|
80
|
-
self.set(nsdata, forKey: forKey)
|
81
|
-
}
|
82
|
-
// 参照するUserDefaults, Keyを取得, UIImageを返す
|
83
|
-
func getImageData(forKey: String) -> UIImage {
|
84
|
-
// UserDefaultsからKeyを基にData型を参照
|
85
|
-
let data = self.data(forKey: forKey)
|
86
|
-
// UIImage型へ変換
|
87
|
-
let returnImage = UIImage(data: data!)
|
88
|
-
// UIImageを返す
|
89
|
-
return returnImage!
|
90
|
-
}
|
91
|
-
}
|
92
69
|
```
|
93
70
|
|
94
71
|
```Swift
|
@@ -96,8 +73,6 @@
|
|
96
73
|
class MapViewController: UIViewController, UIScrollViewDelegate {
|
97
74
|
var MapImageView = UIImageView()
|
98
75
|
let MapScrollView = UIScrollView()
|
99
|
-
var screenHeight:CGFloat!
|
100
|
-
var screenWidth:CGFloat!
|
101
76
|
|
102
77
|
override func viewDidLoad() {
|
103
78
|
super.viewDidLoad()
|
@@ -123,10 +98,10 @@
|
|
123
98
|
}
|
124
99
|
// Buckボタンのアクション
|
125
100
|
@objc private func back(_ sender: Any) {
|
126
|
-
let
|
101
|
+
let mapVC = self.navigationController!
|
127
|
-
let
|
102
|
+
let scrollVC = mapVC.viewControllers[mapVC.viewControllers.count-2] as! ScrollMapViewController
|
128
|
-
|
103
|
+
scrollVC.imageView = self.MapImageView
|
129
|
-
|
104
|
+
scrollVC.reSetupImageView()
|
130
105
|
self.navigationController?.popViewController(animated: true)
|
131
106
|
}
|
132
107
|
```
|