【问题标题】:How to implement drop down box in iphone?如何在iphone中实现下拉框?
【发布时间】:2010-10-08 10:54:58
【问题描述】:

我有一个视图,并在其上设置了一个按钮。单击该按钮时我需要一个下拉框。如何实现下拉框? 下拉框应该有一个表格视图。当我单击表格视图中的行时(下拉框将打开后),我想获取文本,该文本将出现在我有按钮的视图上单击的行单元格上。该怎么做?

【问题讨论】:

标签: iphone objective-c


【解决方案1】:

这是一个适合我的解决方法。

-(IBAction)showDropDownList:(id)sender
{

tableView = [[UITableView alloc] initWithFrame:CGRectMake(7, 135, 200, 0) style:UITableViewStyleGrouped];
        tableView.delegate = self;
        tableView.dataSource = self;

    if (tableState == TableViewStateClosed) {  //enum for identifying tableview state

        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.3];
        CGRect viewRect = self.tableView.frame;
        viewRect.size.height += 150;

        [self.tableView setFrame:CGRectMake(7, 135, 200, viewRect.size.height)];

        [UIView commitAnimations];
        [self.view addSubview:tableView];
        tableState = TableViewStateOpen;
    }
    else if (tableState == TableViewStateOpen) {

        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.3];

        [self.inboxTableView setFrame:CGRectMake(7, 135, 200, 0)];

        [UIView commitAnimations];

        tableState = TableViewStateClosed;
    }
}

【讨论】:

    【解决方案2】:

    有两种方法可以实现这一点

    1. 通过使用 tableview,您可以拥有一个 tableview,其中包含您想要在下拉菜单中拥有的项目列表。然后在 UITableView 的委托方法 didselectrow 中,您可以选中该特定行,然后在项目的其他地方使用该特定行的值。

    2. 可以使用Pickerview实现下拉列表。

    这两个中以PickerView为宜。

    【讨论】:

      【解决方案3】:

      有两种方法可以做到这一点,只需在您的 tableview 上添加一个视图,然后在其上放置一个 tableview 或显示按钮,以便它可以看到像下拉菜单一样,在任何单元格上选择的按钮的选定表行上调用该方法

      【讨论】:

      • 如何在点击按钮时获得所需大小的表格视图
      • uiview *DROPDOWNView =[[uiview alloc]initwithframe:cgrecktmake(100,100,200,100); uitableview *tableview [[uitableview alloc]intiwithframe:cgrectmake(0,0,200,100)];[DROPDown addsubview:tableview];
      【解决方案4】:

      这是另一种选择。如果您考虑一下,操作表基本上是一个下拉列表。如果你继续向 UIActionSheet 添加按钮,它最终会变成一个表格。所以只要有一个 UIButton(或一些事件)触发 UIActionSheet。

      尝试将 7 个或更多按钮添加到 UIActionSheet 并观察它变成一个列表。很方便。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-29
        • 2019-08-29
        • 2018-05-04
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-26
        相关资源
        最近更新 更多