3

私は奇妙な状況にあります。ストーリーボードにいくつかのボタンがある非常にシンプルな画面を作成しましたが、エミュレーターを実行すると(シミュレーターまたはエミュレーターと言うのは正しいですか?)、ボタンの1つで間隔が間違っていました。

スクリーンショットを追加しています。エミュレータはストーリーボード画面の右側にあります。

なぜこれが起こるのか考えていますか?

ここに画像の説明を入力してください

ボタンの問題だと思いました。そして、そうだったかもしれません。しかし、下の2つのボタンを取り出すと、次のスクリーンショットに示すように、さらに奇妙なものが表示されます。

ここに画像の説明を入力してください

ありがとう!

4

3 に答える 3

4

自動レイアウトを使用しているようです。Investmentを除くすべてのボタンにはTop制約があり、InvestmentにはBottom制約があるため、画面が高くなってもInvestmentの下部までの距離は同じままです。

投資ボタンをクリックし、トップメニューの[エディタ->ピン->スーパービューへのトップスペース]をクリックします。

もう一度投資ボタンをクリックします。右側のパネル(フレームを設定できるタブ)の右から2番目のタブをクリックします。トップスペースからスーパービューへの制約を探し、右クリックして削除します。存在しない場合は、XCodeがその役割を果たしました。シミュレータを再実行してみてください。

編集:XCodeには、xibにドラッグしたばかりのビューがコンテナの上半分にある場合は上制約を追加し、下半分にある場合は下制約を追加する習慣があると言いたいだけです。XCodeが助けようとしていることは知っていますが、それは時々私を夢中にさせます。

于 2012-12-13T05:20:52.083 に答える
3

3.5インチのシミュレーターを使用していて、4インチのデバイス用にレイアウトしているように見えるので、ビューのサイズが変更されます。

自動サイズ変更マスクを使用している場合、ボタンの自動サイズ変更マスクの一部が正しくありませんか?おそらく、それらすべてを画面の上部に固定する必要があります。各ボタンの自動サイズ設定がこの画像と一致していることを確認してください。(これらの設定を表示するには、「ルーラー」アイコンをクリックする必要があります。)

自動サイズ変更の写真

于 2012-12-13T00:43:47.020 に答える
1

デフォルトとしてNSAutoLayoutを提供するXCode4を使用していると仮定します。ストーリーボードにオブジェクトを配置すると、NSAutolayoutは、さまざまなデバイス(iPhone4、iPhone5)または向き(ポートレート/風景)に対してオブジェクトを画面上に自動的にレイアウトする制約を自動的に作成します。NSAutolayoutクラスと制約を確認してください。必要に応じて、NSAutolayoutを削除すると、オブジェクトはシミュレーターに通常どおり表示されますが、その場合は、オブジェクトをさまざまな方向と画面に手動で調整する必要があります。

助けてくれることを願っています。

于 2012-12-13T00:43:28.680 に答える