問題タブ [autolayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
7923 参照

ios - ios autolayout ビジュアル フォーマット - 配置

iOS6 では、オートレイアウトを使用しています。

  • プログラムで作成された 2 つのビュー v1 と v2 があります。
  • v2 はサブビューとして v1 に追加されます
  • v1 の制約は、プログラムによって既に作成されています (ここには示されていません)。
  • v1 と v2 を同じサイズにし、v2 を v1 の上に配置して、v2 が v1 の上に正確に重なるように、水平方向と垂直方向の中心が一致するようにします。

質問:

  • どうすればこれを達成できますか (できれば視覚的な形式を使用してください。それが不可能な場合は、別のアプローチを提案できます)?

コード- 以下は私の試みですが、目的の出力が得られません。- エラーはスローされません。V1 は正しく配置されていますが、V2 は V1 の左隅にあります

注 - 以下のコメントで、私がやろうとしていることを説明しました。

0 投票する
2 に答える
1324 参照

ios - 自動レイアウトで兄弟が変更されたときにビューが再描画されない

UIがこのように設定されているアプリがあります

IBでレイアウトを行いましたが(以下を参照)。statusBarView と footerView の高さは固定されており、上部/下部のスペースは (それぞれ) 親ビュー (VC のビュー) と同じ高さです。

画面グラブでは、画面が回転してビューが再描画されると、中央の contentView コンテナーとそのサブビューがサイズ変更され、正しくレイアウトされることがわかります。

これらのボタンの 1 つに対して、(青の) footerView のサイズを変更するように設定されたアクションがあります。私の期待は、contentView の下部が footerView の上部と等しくなるように制約が設定されているため、フッターのサイズを変更すると、contentView が独自にサイズ変更を処理することです。これは起こっていません。footerView を高くしたり短くしたり、上下に移動したりしても、contentView は変更されません。

setNeedsUpdateConstraints、setNeedsLayout などを試しましたが、効果がありません。

おそらく、自動レイアウトの要点、またはそれを実装する方法を完全に見逃しています。ウィンドウ/スーパービューが変更されたときにビューが正しいレイアウトを取得できるのに、制約が実際に依存している兄弟ビューが取得できないのはなぜですか?

ありがとう

デフォルトの垂直レイアウト デフォルトの水平レイアウト

0 投票する
1 に答える
1000 参照

objective-c - カスタムセグエによる自動レイアウト

カスタムセグエを使用して2つのビューコントローラー間でクロスディゾルブしようとしていますが、セグエは適切に開始され、意図したとおりにアニメーションを実行します。ただし、横向きモードの場合、アニメーションの間、宛先のビューコントローラーが縦向きのレイアウトで表示されます。アニメーションが完了すると、宛先のビューコントローラがその横向きのレイアウトに「スナップ」します。両方のビューコントローラは、自動レイアウトを使用して設定されます。

以下は私のカスタムセグエの「実行」方法です。

表示する前に、宛先ビューコントローラに自動レイアウトをトリガーするように手動で指示する必要がありますか?もしそうなら、これはどのように実行されますか?クロスディゾルブで組み込みのセグエを使用してもこの問題は発生しないようです。カスタムセグエではないことを(成功せずに)判断しようとしました。

これは私をしばらく困惑させました、どんな助けでもありがたいです、そしてもっと詳細が必要であるならば私に知らせてください。

0 投票する
1 に答える
232 参照

autolayout - LionのWebViewによる自動レイアウト警告(Mountain Lionではない)

Lionで自動レイアウトでWebViewを使用すると、次の警告が表示されます。

-[WebHTMLViewレイアウト]を呼び出した後も、レイアウトを更新する必要があります。
WebHTMLViewまたはそのスーパークラスの1つが、superを呼び出さずに-layoutをオーバーライドした可能性があります。または、更新中にレイアウトが汚れている可能性があります。どちらもCocoaAutolayoutのプログラミングエラーです。前者は、Cocoa以前のAutolayoutクラスにlayoutというメソッドがある場合に発生する可能性が非常に高いですが、修正する必要があります。

このスレッドは理由を説明します:MacOSXでの自動レイアウト警告

Mountain Lion(MacBook Pro、13インチ、2009年半ば)では、問題は解消されました。それでは、なぜ私のLionマシン(Mac Pro1,1 2006)でも問題が発生しているのでしょうか。

0 投票する
0 に答える
152 参照

objective-c - 制約が満たされた後にサイズを変更するビューを設定するにはどうすればよいですか?

ウィンドウのサイズ変更中にすべての自動レイアウトの制約が満たされた場合、どのビューのサイズ変更を優先するかを指定するにはどうすればよいですか?

たとえば、下のウィンドウのサイズが変更されたときに、ビューBではなくビューAのサイズを変更したいと思います。ここに画像の説明を入力してください

何もしないと、ビューAではなくビューBのサイズが変更されます。ここに画像の説明を入力してください

私が欲しいのは、ビューBの代わりにビューAのサイズを変更することです。

どうもありがとうございます!;-)

0 投票する
1 に答える
433 参照

iphone - iPhone 5 の画面全体にまたがる画像

ランドスケープ モードで表示されるアプリを作成しています。私が遭遇しているのは、画面全体に広がるグラフィックがあることです。これで iPhone と iPhone 5 を説明するにはどうすればよいですか。高さ 60px の UIImageView があり、画面全体に引き伸ばす必要があります。私が読んだところ、iPhone 5 グラフィックを使用していることを示す命名規則はありません。1136X120 (iPhone 5) のグラフィックを 1 つ、960X120 (iPhone 4s) のグラフィックを 1 つ、480X60 (iPhone 4) のグラフィックを 1 つ作成する必要がありますか? 私が恐れているのは、iPhone 5 と iPhone 4s の両方に 1136X120 を使用すると、1136 が 960 に圧縮されるということです。

0 投票する
2 に答える
3985 参照

ios - iOS:自動レイアウトを使用してUIScrollviewのコンテンツサイズを変更する

内にフォームを実装していUIScrollViewます。キーボードを開いたときにスクロールビューのコンテンツの下部にスペースを追加して、ユーザーがすべてのフィールドを表示できるようにしようとしています。UISCrollView次のコードを使用して、必要なすべての制約を追加する内部にフォームビューを配置します。

ご覧のとおり、最初の行でフォームの高さを指定し、scrollviewそのコンテンツサイズを自動的に調整します。フォームの高さを増やしたいので、高さの制約を大きい方にリセットしようとしましたが、機能しません。次に、このメソッドを使用しようとしました[_scrollView setContentSize:]が、これも機能しません。誰か助けてくれませんか?

0 投票する
0 に答える
232 参照

ios - UILabel は左にスワイプするとサイズが変更されます (autolayout とコードを使用)

UITableCellサブクラスを削除するためにスワイプすると、この奇妙なサイズ変更が発生します ( ExpenseCell):

スクリーンショット

UILabels内容に応じてサイズを変更するために使用するコードを次に示します。

上記のコードにコメントすると、この問題はありませんが、 autoresizing が失われましたUILabels

制約を追加するAutoLayoutか、既存のコードを変更することで、これを修正する方法を知っていますか?

前もって感謝します!

0 投票する
3 に答える
7107 参照

iphone - iOS 6: 自動レイアウト制約を使用して UILabel を垂直方向に中央揃え

UILabelセルの垂直方向の中央に配置したいことがあります。これはプログラムで行う必要があります。次の制約を追加して中央に配置しようとしました(locNameはUILabelです):

これは私が得る結果です:

ここに画像の説明を入力

センタリングのように見えますが、高さなどを変えているのUILabelでしょうか?

IB のビュー コントローラーは次のとおりです。

ここに画像の説明を入力

プログラムで垂直方向のセンタリングを実現するにはどうすればよいですか?

0 投票する
3 に答える
3471 参照

ios - 単一のビューの自動レイアウトをオプトアウトしますか?

コードでサブビューのレイアウトを実行するビューがあります。自動レイアウトにはレイアウトが複雑すぎます。自動レイアウトはレイアウト コードを壊します。このビューのサブビューをそのままにして自動レイアウトを強制する方法はありますか? 私はlayoutSubviewsをオーバーライドしようとしましたが、喜びはありません.

助けてくれてありがとう。