新しいUIToolbar
オブジェクトは、積極的制約に基づいてレイアウトを使用していますので、- (void)updateConstraints
メソッドをオーバーライドすることをお勧めします。それをサブクラス化し、カスタムコンテナビューを追加することをお勧めしUIToolbar
オブジェクトの上にカスタムビューを提示するには:
- (UIView *)containerView
{
if (_containerView) {
return _containerView;
}
_containerView = [[UIView alloc] initWithFrame:self.bounds];
_containerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
return _containerView;
}
今、あなたは安全にコンテナビューにカスタムビューを追加することができます。カスタムツールバーとUINavigationController
を使用している場合、あなたはあなたのカスタムを追加する前に、レイアウトを更新することを強制する必要があること、
- (void)updateConstraints
{
[super updateConstraints];
[self bringSubviewToFront:self.containerView];
}
注:私たちは、制約を更新した後、ツールバーのサブビューの順序を変更する必要があるカスタムビューが応答ようにするにはサブビュー。
この問題を解決しましたか? – Tometoyou
その奇妙だけど同じ問題を経験しましたが、いくつかのケースは見えません。 – REALFREE
私はあなたのために質問を編集して閉じた状態から取り除こうとしました。改造者は私の編集内容を拒否しました。これは編集内容に回答を含めるためです。彼らは私がちょうど質問に答えるべきだと言いました。私はそれが閉じられている場合、質問に答えることはできません。とにかく、あなたの 'UIToolBar'の' layoutSubviews'メソッドをオーバーライドして、応答しないビューを前面に持って来るか、最後のビューをそのオーバーライドの裏に送ります。 –