実現したいこと
Swift scrollViewに配置したラベルの配置位置を指定したい
発生している問題・エラーメッセージ
スクロールビューの中の
タイトルラベルTitleLabelと
項目用のラベルLabel1があるのですが、
タイトルラベルの下に項目ラベルを設置したいのですが、
下記のコードではなぜか項目用のラベルのY軸の開始位置の値を何に設定しても0始まりとなってしまいます。
ピンクの位置にタイトルラベルが隠れており
この下に項目ラベルを設置したいです。
該当のソースコード
Swift
1import Foundation 2import UIKit 3 4class ViewController: UIViewController{ 5 6 let menuView = UIView() 7 let scrollView = UIScrollView() 8 let view1 = UIView() 9 let labelTitle = UILabel() 10 let label1 = UILabel() 11 12 override func viewDidLoad() { 13 super.viewDidLoad() 14 15 scrollViewAdd() 16 viewAdd() 17 labelAdd() 18 19 20 } 21 22 23 ///---------------------------------------------------------------------- 24 /// レイアウト 25 ///---------------------------------------------------------------------- 26 27 28 //ScrollViewを追加する 29 func scrollViewAdd() { 30 scrollView.frame = CGRect(x: 0 31 , y: 0 32 , width: self.view.bounds.size.width * 1.0 33 , height: self.view.bounds.size.height * 0.75) 34 scrollView.backgroundColor = UIColor.purple 35 view.addSubview(scrollView) 36 } 37 38 //Viewを追加する 39 func viewAdd() { 40 41 menuView.frame = CGRect(x: 0 42 , y: 0 43 , width: self.view.bounds.size.width * 1.0 44 , height: self.view.bounds.size.height * 2.0) 45 menuView.backgroundColor = UIColor.white 46 scrollView.addSubview(menuView) 47 scrollView.contentSize = menuView.frame.size 48 49 //タイトル用view 50 view1.frame = CGRect(x: 0 51 , y: 0 52 , width: self.view.bounds.size.width * 1.0 53 , height: self.view.bounds.size.height * 0.05) 54 view1.backgroundColor = UIColor.systemPink 55 menuView.addSubview(view1) 56 57 58 59 } 60 61 //ラベルを追加する 62 func labelAdd() { 63 64 //タイトル用のラベル 65 labelTitle.frame = CGRect(x: 0 66 , y: 0 67 , width: self.view.bounds.size.width * 1.0 68 , height: self.view.bounds.size.height * 0.05) 69 labelTitle.text = "タイトル1" 70 view1.addSubview(labelTitle) 71 72 //項目用のラベル1 73 label1.frame = CGRect(x: 0 74 , y: 0.5 //←★ここがY軸の開始位置 0.5(画面の中央)にしても0始まりの開始位置になる 75 , width: self.view.bounds.size.width * 0.5 76 , height: self.view.bounds.size.height * 0.65) 77 label1.text = "項目1" 78 label1.backgroundColor = UIColor.systemBlue 79 menuView.addSubview(label1) 80 81 } 82 83 84} 85
試したこと
y軸の値を書き換えたり、
menuView.addSubview(label1)
scrollView.addSubview(label1)
View.addSubview(label1)
など試したのですが、全て開始位置は0,0となり、x軸もy軸も変化しませんでした。
コードでのレイアウトですが、scrollViewに設置したオブジェクトでも配置位置を指定する方法ご存知の方いらっしゃいましたらご教授願います。
宜しくお願いいたします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー