gpt4 book ai didi

iphone - 如何在 iPhone 中不使用 UIPIckerviewcontroller 创建下拉列表?

转载 作者:可可西里 更新时间:2023-11-01 03:59:35 24 4
gpt4 key购买 nike

当我单击下拉按钮并使列表包含一些内容时,我想像 ListView 一样下拉列表。然后我选择的任何内容都将是标签的文本,任何人都可以帮助我。非常感谢。

最佳答案

您可以使用弹出窗口来显示列表。在弹出窗口中,您可以创建表格 View 来显示项目列表,当用户选择任何选项时,将调用 didSelectRowAtIndexPath,通过此方法您可以发送所选值并显示在标签。

主视图 Controller 中的代码,您要在其中显示下拉菜单。

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 是一个 UIViewController,它将包含 UITableView。用数据(选项列表)填充 UITableView。

- (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;
}

关于iphone - 如何在 iPhone 中不使用 UIPIckerviewcontroller 创建下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10879979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com