xcode 4を使用している場合は、Interface Builderでカスタムビューを作成し、テキストフィールドなどを追加します。IBでは、オブジェクトライブラリから必要な数のアイテムを含む「メニュー」もドラッグアンドドロップします。次に、テキストフィールド(この場合は一番上になります)に作成するメニュー項目をCtrlキーを押しながらクリックし、カスタムビューにドラッグして、[表示]を選択します。これで、メニューを開くと、そのスペースにメニュー項目を表示する代わりに、カスタムビューにあったものがすべて表示されます。
編集:あなたのコメントに関しては、ここにあなたがすべきことはあります。アシスタントエディタビューを開き、メニューから使用するヘッダーファイルにCtrlキーを押しながらクリックして、メニューをアウトレットにします。ここで、メニューが開くたびに実行されるメソッドを作成するだけです。便利なことに、アップルはすでにこれを作成しています。これはmenuWillOpenと呼ばれます。
- (void)menuWillOpen: nameOfYourMenu{
[self performSelector:@selector(methodExecutedWhenMenuIsClicked) withObject:nil afterDelay:0.0 inModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];
0での遅延はすぐに発生します。メニューが開いている間でもメニューが更新されるように、コモンモードの実行ループで実行する必要があります。ここで、を作成しmethodExecutedWhenMenuIsClicked
て設定し、テキストフィールドが応答するようにします。
- (void)methodExecutedWhenMenuIsClicked{
[[yourTextfiled window] makeFirstResponder:yourTextField];