0

ねえ、私はUITableViewを含むframed(cgrectmake)UIviewを表示するSegmentedControllerを持っています。

テーブルビューを表示するためにAddSubViewを追加しましたが、これで問題ありません。しかし、didselectメソッドのテーブルビュー内で、別のビューコントローラーをプッシュしたいと思います。

しかし、これを行うと表示されません。タッチなどが登録されます。サブビューを追加すると表示されますが、実際にこのビューをプッシュする必要があります。したがって、新しいビューがテーブルビューを含むUIView内にのみ表示されるのではなく、画面全体に表示されます。

テーブルビューを押してから次のビューを押すことで実験しましたが、この最終ビューは完全に表示されましたが、テーブルビューを画面上のフレームに含める必要があります。

試すべき提案はありますか?

マイケル。

4

2 に答える 2

0

おそらくいくつかのコードで試したことを明確にすることはできますか? テーブルビューと後続のビューのプッシュに関する実験について言及しましたが、ビューはプッシュされず、ビューコントローラーのみがプッシュされます。それがあなたがやろうとしていることではないことを確認したいだけです。

タッチの登録についても言及しました...

正しく設定されていれば、テーブルビューは独自の viewController のビューにあります。viewController クラスが UITableViewDelegate に準拠していることを確認してください。(または、UITableView のデリゲート プロパティを設定することを決定した任意のクラス)

つまり、myViewControllerClass.h で:

@interface myViewControllerClass <UITableViewDelegate>

UITableView デリゲートであるクラスは、次のデリゲート メソッドも実装する必要があります。

- (void)tableView:(UITableView *)inTableView didSelectRowAtIndexPath:(NSIndexPath *)inIndexPath

このメソッドは、テーブルビューで行が選択されたときに呼び出されます。ここで、別の viewController を最初の viewController のビューにプッシュすることにします。

于 2010-11-07T17:36:34.613 に答える
0

tableView をサブビューとして追加する場合、デリゲートを呼び出しているのと同じオブジェクトに設定することを覚えていますdidSelectRowAtIndexPathか?

また、このオブジェクトがUITableViewDelegate

于 2010-11-07T17:41:13.003 に答える