質問編集履歴
2
本文の微修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -45,12 +45,15 @@
|
|
45
45
|
//---------------------------------------------------------------
|
46
46
|
|
47
47
|
class SecondViewController:UIViewController {
|
48
|
+
|
49
|
+
let footerView = UIView()
|
50
|
+
|
48
51
|
override func viewDidLoad() {
|
49
|
-
let view = UIView()
|
50
52
|
let viewHei:CGFloat = 44
|
51
|
-
|
53
|
+
footerView.frame = CGRect(x: 0, y: self.view.frame.size.height - viewHei,
|
54
|
+
width: self.view.frame.size.width, height: viewHei)
|
52
|
-
|
55
|
+
footerView.backgroundColor = .red
|
53
|
-
self.view.addSubview(
|
56
|
+
self.view.addSubview(footerView)
|
54
57
|
|
55
58
|
viewHeiGet()
|
56
59
|
}
|
1
ソースコードの修正、イメージ図の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,67 +8,65 @@
|
|
8
8
|
SecondViewControllerの表示領域の高さの取得方法が分からず、
|
9
9
|
toolbar.frameのYが設定出来ず困っております。
|
10
10
|
|
11
|
-
|
11
|
+
下記図の青色の線、または黄色の線の高さはどのように取得する方法すればよろしいでしょうか?
|
12
|
-
|
13
12
|
初心者の質問で申し訳ないのですが、ご教授いただけると幸いです。
|
13
|
+
(図は、記載したソースコードを実行したものに、
|
14
|
+
イメージを分かりやすくするために↕︎と注釈を追記したものです。)
|
14
15
|
|
16
|
+

|
17
|
+
|
15
18
|
### 該当のソースコード
|
16
19
|
|
17
20
|
```swift
|
18
|
-
|
21
|
+
import UIKit
|
19
22
|
|
20
|
-
|
23
|
+
class ViewController: UIViewController {
|
21
|
-
let btn = UIbutton()
|
22
|
-
btn.frame = CGRect(x:0,Y:o,width:100,height:100)
|
23
|
-
btn.addTarget(self, action: #selector(btn_tapped), for: .touchUpInside)
|
24
|
-
self.view.addsubview(btn)
|
25
|
-
}
|
26
24
|
|
27
|
-
|
25
|
+
override func viewDidLoad() {
|
26
|
+
super.viewDidLoad()
|
27
|
+
// Do any additional setup after loading the view.
|
28
|
-
|
28
|
+
let btn = UIButton()
|
29
|
+
btn.frame = CGRect(x:0,y:0,width:100,height:100)
|
29
|
-
|
30
|
+
btn.backgroundColor = .green
|
30
|
-
secondVC.modalPresentationStyle = .pageSheet
|
31
|
-
|
31
|
+
btn.addTarget(self, action: #selector(btn_tapped), for: .touchUpInside)
|
32
|
+
self.view.addSubview(btn)
|
33
|
+
print("シミュレーターの画面の高さ", self.view.frame.height)
|
32
|
-
|
34
|
+
}
|
33
35
|
|
36
|
+
@objc func btn_tapped(){
|
37
|
+
let secondVC = SecondViewController()
|
38
|
+
secondVC.view.backgroundColor = .white
|
39
|
+
secondVC.modalPresentationStyle = .pageSheet
|
34
|
-
|
40
|
+
self.present(secondVC, animated: true, completion: nil)
|
41
|
+
}
|
42
|
+
|
43
|
+
}
|
35
44
|
|
45
|
+
//---------------------------------------------------------------
|
46
|
+
|
36
47
|
class SecondViewController:UIViewController {
|
37
48
|
override func viewDidLoad() {
|
38
49
|
let view = UIView()
|
39
|
-
let viewHei = 44
|
50
|
+
let viewHei:CGFloat = 44
|
40
|
-
view.frame = CGRect(x:0,self.view.frame.height - viewHei,
|
51
|
+
view.frame = CGRect(x: 0, y: self.view.frame.height - viewHei, width: self.view.frame.width, height: viewHei)
|
41
|
-
width:self.view.frame.width, height:viewHei)
|
42
|
-
view.
|
52
|
+
view.backgroundColor = .red
|
43
|
-
self.view.
|
53
|
+
self.view.addSubview(view)
|
44
54
|
|
45
55
|
viewHeiGet()
|
46
56
|
}
|
47
57
|
|
48
58
|
func viewHeiGet(){
|
49
|
-
print(self.view.frame.height)
|
59
|
+
print("test1 (狙い:図の青色の線の長さ)", self.view.frame.height)
|
50
|
-
print(self.view.bound.height)
|
51
|
-
print(self.view.frame.minY)
|
60
|
+
print("test2 (狙い:図の黄色の線の長さ)", self.view.frame.minY)
|
52
|
-
print(self.view.bound.minY)
|
53
61
|
}
|
54
62
|
|
55
63
|
}
|
56
|
-
|
57
|
-
|
58
64
|
```
|
59
65
|
|
60
66
|
### 試したこと
|
61
67
|
|
62
|
-
|
68
|
+
各print()の結果
|
63
69
|
|
64
|
-
結果
|
65
|
-
|
70
|
+
シミュレーターの画面の高さ 568.0
|
66
|
-
print(self.view.bound.height) → シュミレーターの機種の画面サイズ
|
67
|
-
|
68
|
-
|
71
|
+
test1 (狙い:図の青色の線の長さ) 568.0
|
69
|
-
|
72
|
+
test2 (狙い:図の黄色の線の長さ) 0.0
|
70
|
-
|
71
|
-
|
72
|
-
### 補足情報(FW/ツールのバージョンなど)
|
73
|
-
|
74
|
-
ここにより詳細な情報を記載してください。
|