1. ホーム
  2. ios

xibファイルで、ビューとトップレイアウトガイドの間に制約を追加する方法はありますか?

2023-09-26 16:36:37

質問

iOS 7 では、ビューとトップ レイアウト ガイドの間に制約を追加できるようになりました。これは、iOS7 のステータス バーのオフセット問題 (特にビューにナビゲーション バーがない場合) を解決するのに非常に有用だと考えています。

ストーリーボード ファイルでは、この種の制約を簡単に追加することができます。コントロール キーを押したまま、ビューをコンテナーにドラッグすると、[トップ スペースからトップ レイアウト ガイドへ] オプションが表示されます。

しかし、xibファイルで同じ操作をすると、このオプションは消えます。

では、このような制約をxibファイルに追加する方法はあるのでしょうか?それとも、コードで追加しなければならないのでしょうか?

どのように解決するのですか?

次の例を参考にしてください。私はからこれを得た http://developer.apple.com .

[button setTranslatesAutoresizingMaskIntoConstraints: NO];
id topGuide = myViewController.topLayoutGuide;
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings (button, topGuide);

[myViewController.view addConstraints:
    [NSLayoutConstraint constraintsWithVisualFormat: @"V:[topGuide]-20-[button]"
    options: 0
    metrics: nil
    views: viewsDictionary]
];