以下のコードのScrollViewにAutoLayoutをつけて多画面に対応させたいのですが、通常のViewと同様に制約をつけても上手くいきません。Webで色々調べたのですが、自分の書いたコードのケースに当てはまるものが無く困っています。ご教授頂けると嬉しいです!
StoryBoardは元々のViewの上にScrollViewとButtonが載っている状態でLabelはコードで生成しています。
View as iPhoneXR以外でbuildすると大きさが合いません…
Swift
1**TutorialViewController.Swift** 2 3import UIkit 4import Lottie 5 6class TutorialViewController: UIViewController { 7 8 var onboardStringArray = ["a","i","u","e","o","あ","い","う"] 9 10 11 @IBOutlet var scrollView: UIScrollView! 12 13 var animationArray = ["onboard1","onboard2","onboard3","onboard4","onboard5","onboard6","onboard7","onboard8"] 14 15 16 17 override func viewDidLoad() { 18 super.viewDidLoad() 19 20 scrollView.isPagingEnabled = true 21 22 setUpScroll() 23 24 for i in 0...7{ 25 26 let animationView = AnimationView() 27 let animation = Animation.named(animationArray[i]) 28 animationView.frame = CGRect(x: CGFloat(i) * self.view.frame.size.width, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.width) 29 30 animationView.animation = animation 31 animationView.contentMode = .scaleAspectFit 32 animationView.loopMode = .loop 33 animationView.play() 34 scrollView.addSubview(animationView) 35 36 } 37 38 } 39 40 func setUpScroll(){ 41 42 scrollView.contentSize = CGSize(width: view.frame.size.width * 8, height: view.frame.size.height) 43 44 for i in 0...7{ 45 46 let onboardLabel = UILabel(frame: CGRect(x: CGFloat(i) * self.view.frame.size.width, y: self.view.frame.size.height/3, width: scrollView.frame.size.width, height:scrollView.frame.size.height)) 47 48 onboardLabel.font = UIFont.boldSystemFont(ofSize: 15.0) 49 onboardLabel.textAlignment = .center 50 onboardLabel.text = onboardStringArray[i] 51 scrollView.addSubview(onboardLabel) 52 53 54 } 55 56 } 57 58}
質問するときのヒント( https://teratail.com/help/question-tips )を参考に分かりやすい質問に直したほうが、回答が得られやすくなると思います。コードは```で囲って整形しましょう。「Webで色々調べたのですが」は具体的にどのようなページを調べて、ご自身のコードとの違いがどのようにあるかなども、分かるレベルで説明したほうが良いです。
コードは ``` で囲って下さい。
すみません、何度も更新しているのですが反映されません…。
previewでは反映されているのですが…次質問や回答する機会があれば気を付けます。
質問投稿画面の右下にある「更新する」を押しても更新されないということでしょうか?
あ、できました!更新内容が空欄のままだったので編集できていなかったようです。
すみません、プログラミングどころかPC初心者なので…今後気を付けます。
回答1件
あなたの回答
tips
プレビュー