2

次のように、Interface Builder 内の Mac OS X プロジェクトに制約を設定しています。

H:|-(61)-[webView]

コードから IB 制約を変更したいと思います。別の制約を追加することはできますが、コンソールは以下に示すように競合を訴えます:

Unable to simultaneously satisfy constraints:
(
    "<NSLayoutConstraint:0x102112320 H:|-(61)-[WebView:0x10230a1c0]   (Names: '|':NSView:0x102362e90 )>",
    "<NSLayoutConstraint:0x10063bab0 H:|-(0)-[WebView:0x10230a1c0]   (Names: '|':NSView:0x102362e90 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x102112320 H:|-(61)-[WebView:0x10230a1c0]   (Names: '|':NSView:0x102362e90 )>

Apple の Apple ドキュメント- Mac OS X - Cocoa Auto Layout Guideには、次のように記載されています。 "

コードから先頭のスペースの制約を変更するにはどうすればよいですか?

4

1 に答える 1

2

制約は IB の他のオブジェクトと同様のオブジェクトであるため、コントローラー (または他の適切なオブジェクト) にアウトレットを作成し、制約をそれにリンクできます。

次に、コードで制約の定数部分を変更できます。

変更したい定数部分だけでない場合は、プログラムで制約を削除して別の制約を追加することもできます。

于 2013-03-28T16:16:44.540 に答える