3

不可解な問題があります。Mac OS X 10.7 でココア アプリを開発中。

アプリのメイン ウィンドウに分割ビューが含まれています。分割ビューのサブビューの 1 つの特定のユース コンテキストでは、いくつかのラベル (nstextfield) と分割ビュー (nib をロードし、そのコントローラーからビューを取得するビュー コントローラーをインスタンス化する) を含むカスタム ビューが読み込まれます。カスタム ビューのフレームはビュー サブビューの境界を分割するように設定されており、すべて正常に動作します。問題は、テーブル ビューとボタンを含むカスタム ビューを使用して、2 番目の分割ビューのサブビューの 1 つをロードする必要がある (同じ方法: ビュー コントローラー-nib-ビュー-フレーム/境界) ことですが、この場合は何も表示されません。すべてが同じ方法で行われますが、最後のカスタム ビューは表示されません。何か案が?

ありがとう

(編集)

これは、追加するビューのコントローラーをインスタンス化し、ビューを取得し、分割ビューのサブビューにサブビューとして追加するために使用するコードです

- (void)loadSubview {

    self.subviewToAddController = [[viewController alloc] initWithNibName:nil bundle:nil];
    //nib name is coded in the controller class definition

    [[self.subviewToAddController view] setFrame:[self.splitViewContainerSubView bounds]];
    //container subView is an outlet

    [self.splitViewContainerSubView addSubview:[self.subviewToAddController view]];

}

ただし、コンテナーのサブビューに独自のサブビューを要求すると、新しいサブビューがリストに表示されるため、このコードに問題があるとは思いません。表示されないだけです。分割ビューのサブビュー(作成したばかりのテスト)または最も外側の分割ビューのサブビューのサブビューとして追加すると、それも正しく表示されます(混乱した説明で申し訳ありませんが、図が必要になりますが、これでは間に合わない)

私の疑問をさらに詳しく説明するために(誤解を招きたくなかったので、前に言及しませんでした)座標の問題ではないので、ビューは正しくロードされ、サブビューとして追加されますが、何かによって隠されているか表示されているため表示されません可視域外?

(アップデート)

申し訳ありませんが、更新を投稿するのに時間がかかりました。さらにテストした結果、問題が自動レイアウトに関連していることがわかりました。正確な問題とその解決方法がわかりません。問題があったペン先の場合はオフにし、古い方法を使用してインターフェイス オブジェクトの位置とサイズ/サイズ変更を設定しました。最善の方法ではありませんが、今のところ続行できます。

4

1 に答える 1

0

私の最善の推測は、ビューの自動サイズ変更マスクを適切に設定していないことです。

于 2012-05-04T15:42:47.607 に答える