2

コードで固定の NSView の高さを指定したい。メソッドaddConstraint:を使用すると、オブジェクト プロパティ間の関係を指定できますが、「この NSView の高さは 50 ピクセルにする必要があります」とは言えません。誰もそれを行う方法を知っていますか? ありがとう!

4

2 に答える 2

1

視覚的な制約形式が気に入らない場合は、このように設定することもできます。

    var heightCosntraint    = NSLayoutConstraint(item: seperationView,
    attribute: NSLayoutAttribute.Height, 
    relatedBy: NSLayoutRelation.Equal, 
    toItem: nil, 
    attribute: NSLayoutAttribute.NotAnAttribute, 
    multiplier: 1, 
    constant: 5.0)

    seperationView.addConstraint(heightCosntraint)
于 2015-02-18T22:22:02.230 に答える
1

どうですか:

[myView addConstraint:
    [NSLayoutConstraint
        constraintsWithVisualFormat:@"V:[myView(50)]"
                                options:0
                                metrics:nil
                                  views:NSDictionaryOfVariableBindings(myView)
    ]
];

ただし、ビューに制約を追加しただけであることを忘れないでください。おそらく、他のオブジェクトに関連するある種のコントローラーでそれを持ちたいと思うでしょう。独自の制約を設定するビューを持つことはまったく問題ありません。これは、InterfaceBuilder で常に発生することです。他のビューと UI の要素との関係は、ビュー ツリーの次の上位レベルにある必要があります。

于 2013-03-30T19:13:42.167 に答える