私は初めてiOSアプリケーションを作成しています。自動レイアウトとスクロール表示に問題が発生しました。だから、今私はメインのストーリーボードにスクロールビューを持っています。スクロールビューは画面全体を占有する必要があります。私は他の3つのxibファイルを持っています。それぞれがスクロールビューのページです。だから私はスクロール可能なウォークスルーのようなものを実現することができます。今私が持っている問題はそれです。メインのストーリーボードのサイズを変更すると、シミュレータから取得した結果が異なります。iOS:自動レイアウトに関する問題。シミュレータの結果がストーリーボードの変更として反映される
また、アプリが読み込まれると、すぐに画面に表示されているものは表示されません。純粋な黒い背景が表示されます。最初に画面をスクロールしてから、すべてのテキストを表示する必要があります。私は何が間違っているか分からない。私は主なストーリーボードの背景色がありません。これは上記の問題に関連していますか?
私の主なストーリーボードをiPhone Plusサイズに変更した場合の最初の問題のいくつかの例です。シミュレータには、iPhone Plusデバイスの正しいサイズが表示されますが、通常のiPhoneおよびiPhone Xでは表示されません。下の図を参照してください。
私は、通常のiPhoneのサイズにストーリーボードを変更した場合。 iPhone 8は正しいサイズを表示しますが、プラスとXはオフになります。
これは私が私のスクロールビューの制約を設定する方法です。
これは私がコード内の個々のXIBやスクロールビューを設定する方法です。
override func viewDidLoad() {
super.viewDidLoad()
//Set up individual view for scroll view
let xOrigin = self.view.frame.width
creditScreen = CreditScreenView(nibName: "CreditScreenView", bundle: nil)
mainScroll.addSubview(creditScreen.view)
forWeather = ForcastScreenView(nibName: "ForcastScreenView", bundle: nil)
mainScroll.addSubview(forWeather.view)
nowWeather = NowScreenView(nibName: "NowScreenView", bundle: nil)
mainScroll.addSubview(nowWeather.view)
//mainScroll.translatesAutoresizingMaskIntoConstraints = true
// set up the size for each view
creditScreen.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)
forWeather.view.frame = CGRect(x: xOrigin, y: 0, width: self.view.frame.width, height: self.view.frame.height)
nowWeather.view.frame = CGRect(x: xOrigin * 2, y: 0, width: self.view.frame.width, height: self.view.frame.height)
mainScroll.contentSize = CGSize(width: CGFloat(view.frame.width * 3), height: CGFloat(view.frame.height))
mainScroll.contentOffset.x = view.frame.width * 3
mainScroll.setContentOffset(CGPoint(x: view.frame.width * 2, y: 0), animated: true)
//Set up the location manager here.
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
}
問題の原因は不明ですが、xibを設定する方法がわかりません。私がこの問題を捜したとき、トップレベルのビューとしてメインのストーリーボードにビューを配置し、そのトップレベルのビューにスクロールビューを配置するよう提案しています。それは私のために働かなかった。誰かがこの問題に助けてくれますか?ありがとう!
必要に応じてソースコード用のGitHubがあります。 https://github.com/lucky13820/air
実際のコードまたはコード – Paulw11
のスクリーンショットを含むように質問を編集してください。@ Paulw11スクリーンショットを実際のコードに置き換えました。コードを追加する必要がありますか?私はこれらがレイアウトに関連する唯一のコードだと思います。私はストーリーボードですべての制約を犯しました。 – lucky13820