問題タブ [ios-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 投票する
0 に答える
385 参照

ios - クリップのサブビューは、自動レイアウトの制約では機能しません

UIView自動レイアウト制約があります。私のビューにはサブビューが含まれています。ビューコントローラーにプロパティとしてアタッチした高さの制約があります。

ビューで、私が設定した読み込みを行いました:

しかし、まだサブビューが表示されます。そのため、そのビューのストーリーボードでサブビューをクリップをチェックしますが、サブビューはまだ表示されます。

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

ios - 埋め込まれたUILabelテキストに合わせてUIContainerViewのサイズを変更する方法

UIContainerView埋め込まれたaと twoUIViewControllerが含まれています。テキストには動的な行数があり、その行数に応じて拡張されます。私が求めているのは、新しい埋め込みラベルのサイズに合わせて拡張する方法です。UILAbelUIButtonUILabelUIContainerView

autolayout constraintsラベルの高さを管理するために使用しています。

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

ios - AutoLayout を使用して iOS ストーリーボードに UIImageView を配置する

私は iOS でこの AutoLayout のことを初めて知り、その概念を読んで理解するための適切なドキュメントを見つけるのに苦労しました。

私がする必要があるのは、親ビューの高さに関連する位置にある親ビュー内に UIImageView を配置することです。

私がそれを達成しようとした方法は以下の通りです。

ここに画像の説明を入力

これはすべての画面サイズで機能しますが、縦向きでのみ機能します。デバイスを左または右に回転させると、UIImageView とランドスケープ デバイスの上部との間のギャップの変化が見られません。以下の画像は、私がここで何を意味したかを明確にします。

ここに画像の説明を入力

しかし、ストーリーボードを使用してプレビューを見ると、期待どおりにギャップの違いが表示されます。

ここに画像の説明を入力

1.) アプリが実際のデバイスで実行されている場合、なぜこれが起こらないのですか?

2.) デバイスのローテーションが検出されたときに、プログラムで制約を更新する必要がありますか?

3.) Top Layout Guide.Bottom X および Y に一定の値はありますか?

4.) この UIImageView を配置する他の方法はありますか? 私が必要とするのは、画像を画面の高さの 1/3 の位置に配置することです。

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

ios - サブビューのサイズがそのスーパービューと同じ場合、ctrl-drag を使用して IB で制約を設定する方法は?

IB のビュー コントローラーの 1 つにサブビューを追加しました。そのサイズはビューコントローラーのサイズと同じであり、そのようにしたいです。唯一の問題は、マウスで ctrl-drag を使用して、そのスーパービューを参照していくつかの制約を設定できないことです。スーパービュー全体を埋めるサブビューを作成し、そのスーパービューを参照してctrl-drag を使用して制約を設定する方法はありますか?

ここに画像の説明を入力

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

ios - Xcode 6.3 ストーリーボードの自動レイアウトの制約

これは私のストーリーボードです:

ストーリーボード

これは iPad シミュレーターです。

iPad シミュレーター

制約については、右下に移動し、2 つの押し出しバーがある三角形のボタンをクリックします (コックピットとして三角形を持つスター ウォーズの戦闘機のように見えます)。ビューコントローラーのすべてのビューを示すセクションまで下にスクロールし、クリア制約をクリックします。次に同じボタンに戻りますが、今回は [欠けている制約を追加] をクリックします。

なぜこうなった?どうすれば修正できますか?

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

ios - セルフサイジングセルは私にはうまくいきません

WWCD 2014 セッション 226 に従おうとしました。このセッションでは、自動レイアウトを使用して iOS 8 でセルフ サイズのセルを実現する方法が紹介されましたが、本来のように機能しません。


HHTableViewCell.h



HHTableViewCell.m



MMTableViewController.h



MMTableViewController.m


セルの高さは固定で、2 行のテキストが折り返されています。次のように表示されます:

こんにちは、アップル。こんにちはアップル。こんにちはアップル。こんにちは
、アプレです。こんにちはアップル。こんにちはアップル。Hello Apple...


制約とサブビューはプログラムで追加されます。シミュレーターは、Xcode 6.3.1 で iOS 8.3 を実行しています。

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

ios - Dynamically size Table View Cells using Auto Layout constraints

Update

I have revised the question completely after my latest findings.

Goal

My goal is to implement the following effect:

  1. There is a simple table view
  2. The user selects a row
  3. The selected row expands, revealing another label below the original one

Please note that I am aware, that this can be achieved by inserting/deleting cells below the selected one, I already have a successful implementation using that method.

This time, I want to try to achieve this using Auto Layout constraints.

Current status

I have a sample project available for anyone to check, and also opened an issue. To summarize, here's what I've tried so far:

I have the following views as actors here:

  • The cell's content view
  • A top view, containing the main label ("main view")
  • A bottom view, below the main view, containing the initially hidden label ("detail view")

I have set up Auto Layout constraints within my cell the following way (please note that this is strictly pseudo-language):

  • mainView.top = contentView.top
  • mainView.leading = contentView.leading
  • mainView.trailing = contentView.trailing
  • mainView.bottom = detailView.top
  • detailView.leading = contentView.leading
  • detailView.trailing = contentView.trailing
  • detailView.bottom = contentView.bottom
  • detailView.height = 0

I have a custom UITableViewCell subclass, with multiple outlets, but the most important here is an outlet for the height constraint mentioned previously: the idea here is to set its constant to 0 by default, but when the cell is selected, set it to 44, so it becomes visible:

I have the following result:

Current status

So the effect is working, but not exactly how I originally imagined. Instead of pushing the main view up, I want the cell's height to grow when the detail view is shown, and shrink back when it's hidden.

I have examined my layout hierarchy during runtime:

  • The initial state is OK. The height of the content view is equal to the height of my main view (in this case, it's 125 points).

Screenshot initial

  • When the cell is selected, the height constraint of the detail view is increased to 44 points and the two views are properly stacked vertically.But instead of the cell's content view extending, but instead, the main view shrinks.

Screenshot detailed

Question

What I need is the following: the height of table view cell's content view should be equal to

  • the height of the main view, when the detail view's height constraint is 0 (currently this works)
  • main view height + detail view height when the detail view's height constraint is set properly (this does not work).

How do I have to set my constraints to achieve that?