6

ドロップダウンボタンをクリックしたときにリストビューのようなドロップダウンリストを作成し、リストにコンテンツを作成します。次に、選択したコンテンツはラベルのテキストになり、誰でも助けてくれます。色々ありがとう。

4

1 に答える 1

1

ポップオーバーを使用してリストを表示できます。ポップオーバーでは、テーブルビューを作成してアイテムのリストを表示できます。ユーザーがオプションを選択すると、didSelectRowAtIndexPath が呼び出され、このメソッドから選択した値を送信してラベルに表示できます。

ドロップダウンを表示する mainviewcontroller のコード。

if (m_OptionController !=nil)
        {
            [m_OptionController release]; m_OptionController = nil;

        }
        m_OptionController=[[OptionViewController alloc]init];
        [m_OptionController setTarget:self andSelector:@selector(displaySelectedOption:)];

        if(m_pPopOverController)
        {   
            [m_pPopOverController dismissPopoverAnimated:YES];
            [m_pPopOverController release];
            m_pPopOverController=nil;
        }

        m_pPopOverController=[[UIPopoverController alloc]initWithContentViewController:m_OptionController];

        [m_pPopOverController setPopoverContentSize:CGSizeMake(thePopOverFrame.size.width, thePopOverFrame.size.height) animated:NO];
        [m_pPopOverController presentPopoverFromRect:CGRectMake(theButton.frame.origin.x,0,40,40) inView:self
                            permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

OptionViewController は、UITableView.Populate UITableView にデータ (オプションのリスト) を含む UIViewController です。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   if ([m_Target respondsToSelector:m_Selector]) {
                        [m_Target performSelector:m_Selector withObject:nil];
                    }
}

このメソッドを呼び出してターゲットを設定することを忘れないでください。ユーザーがオプションを選択すると、選択した値が必要な場所で mainviewcontroller の対応するメソッドが呼び出されます。

- (void)setTarget:(id)inTarget andSelector:(SEL)inSelector
{
    m_Target = inTarget;
    m_Selector = inSelector;
}
于 2012-06-04T10:45:27.600 に答える