SwiftでXcode 6(Beta 1)で新しいプロジェクトを一から作り、Storyboardsと私が見ている出力で奇妙な振る舞いを見ました。
View Controllerのプロパティを含めて、私は(以下に示すように)簡単なインターフェイスを構築しました。シミュレータでこれを実行すると、 'Hello、World'がユーザーインターフェースの中心になると思います - しかし、この 'Square'は単にiPhoneの画面に収まっているため、間違ったビューが表示されているようです。 ).
私の質問は、他の誰かがこの振る舞いを見たことがあり、どのように修正しましたか?
ありがとうございます。
Asif Bilalの答えはSize Classes(iOS 8で導入されたもの)を含まないもっと簡単な解決策ですが、クラスの大きさに慣れることを強くお勧めします。未来であり、いずれにしてもいずれにしてもジャンプします。 "
おそらくレイアウト制約を追加していません。
ラベルを選択して、下部にあるレイアウト制約ボタンをタップします。
そのメニューでチェックボックスをチェックして幅と高さを追加し(私のものと同じではいけません)、制約を追加をクリックします。次に、Controlキーを押しながらメインビューにラベルをドラッグします。次に、クリックしたときに、コンテナを水平方向と垂直方向の中央に配置するオプションがあります。両方を追加すると、セットアップされるはずです。
問題を解決するには、次の手順を実行します。
ストーリーボードで、任意のビューを選択してからファイルインスペクタに進みます。 「サイズクラスを使用する」のチェックを外すと、iPhone/iPad用のサイズクラスデータを保存するように求められます。次に、[サイズクラスを無効にする]ボタンをクリックします。こうすると、選択したデバイスでストーリーボードのビューサイズが変わります。
Xcode 6を使用していてiOS 8用に設計している場合は、これらの解決策はどれも正しくありません。 iPhoneのみのビューを正しくサイズ設定するには、サイズクラスをオフにしたり、推定メトリックをオフにしたり、(まだ)制約を設定したりしないでください。代わりに、最初に "wAny hAny"と表示されるInterface Builderの下部にある見逃しやすいテキストボタンであるサイズクラスコントロールを使用してください。
ボタンをクリックして、コンパクト幅、標準高さを選択します。これにより、ビューのサイズが変更され、すべてのiPhoneの縦向きがカバーされます。 Appleのドキュメントはここにあります: https://developer.Apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/SelectingASizeClass.html または「サイズの選択」で検索Interface Builderのクラス」
私はxcode 6でこの問題を抱えていました、そしてサイズ変更の衝突を解決する方法があります。ビューを選択すると、一番下に|-Δ-|のようなアイコンが表示されます。あなたがそれをクリックするならば、あなたはプロジェクトが異なる装置のためにサイズ変更をするでしょう。
ストーリーボードで、ViewControllerを選択して[属性インスペクタ]に移動します。一番上のSimulated Metricsの下には、SizeプロパティとOrientationプロパティがあり、それらはInferredに設定されています。希望の値に変更してください。
最初の投稿でCanPoyrazoğluが説明しているように、アプリケーションが別の画面サイズで正しく表示されるようにするには、制約も設定する必要があります。
[属性]インスペクタ(右上隅)に移動します。サイズ、向き、ステータスバー、トップバー、ボトムバーの各プロパティがあります。 SIZEの場合は、Inferred - > Freeformを変更します。
ストーリーボードページで[ファイルインスペクタ]に移動し、[サイズクラスを使用]のチェックを外します。これにより、View Controllerを慣れ親しんだ通常のIPhoneサイズに縮小できます。 「サイズクラス」を使用すると、多くのデバイスにわたってプロジェクトをデザインできるようになります。これをオフにすると、Xcodeは次のように警告ダイアログを表示します。これは一目瞭然です。
"サイズクラスを無効にすると、このドキュメントでは単一のデバイスファミリのデータの保存に制限されます。ターゲットデバイスを最もよく表すサイズクラスのデータは保持され、その他のデータはさらに、セグエはそれらの非適応形に変換されます。 "
XCode 7を使用している人にとっては、特定のデバイスサイズに合わせて設計するのは非常に簡単です(デフォルトの四角いキャンバスの代わりに)。
Interface Builderの左側のメニューからViewControllerまたはSceneを選択します。次にShow the Attributes Inspector
の下のSimulated Metrics
に行き、ドロップダウンメニューから希望のSize
を選びます。
おそらく、「自動レイアウトの問題を解決する」(ストーリーボードビューの右下の三角形のアイコン)を使用して、推奨される制約に追加/リセットします(Xcode 6.0.1)。