【发布时间】:2010-10-08 10:54:58
【问题描述】:
我有一个视图,并在其上设置了一个按钮。单击该按钮时我需要一个下拉框。如何实现下拉框? 下拉框应该有一个表格视图。当我单击表格视图中的行时(下拉框将打开后),我想获取文本,该文本将出现在我有按钮的视图上单击的行单元格上。该怎么做?
【问题讨论】:
-
dropdown box in iphone 的可能重复项
标签: iphone objective-c
我有一个视图,并在其上设置了一个按钮。单击该按钮时我需要一个下拉框。如何实现下拉框? 下拉框应该有一个表格视图。当我单击表格视图中的行时(下拉框将打开后),我想获取文本,该文本将出现在我有按钮的视图上单击的行单元格上。该怎么做?
【问题讨论】:
标签: iphone objective-c
这是一个适合我的解决方法。
-(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;
}
}
【讨论】:
有两种方法可以实现这一点
通过使用 tableview,您可以拥有一个 tableview,其中包含您想要在下拉菜单中拥有的项目列表。然后在 UITableView 的委托方法 didselectrow 中,您可以选中该特定行,然后在项目的其他地方使用该特定行的值。
可以使用Pickerview实现下拉列表。
这两个中以PickerView为宜。
【讨论】:
有两种方法可以做到这一点,只需在您的 tableview 上添加一个视图,然后在其上放置一个 tableview 或显示按钮,以便它可以看到像下拉菜单一样,在任何单元格上选择的按钮的选定表行上调用该方法
【讨论】:
这是另一种选择。如果您考虑一下,操作表基本上是一个下拉列表。如果你继续向 UIActionSheet 添加按钮,它最终会变成一个表格。所以只要有一个 UIButton(或一些事件)触发 UIActionSheet。
尝试将 7 个或更多按钮添加到 UIActionSheet 并观察它变成一个列表。很方便。
【讨论】: