1

谁能告诉我。如何在 iPhone 中创建下拉菜单,我想在导航栏中添加下拉菜单(我的概念是排序(过滤器),所以我想要菜单名称、标题、描述中的三个按钮.....) 在此处输入图像描述

4

3 回答 3

1

您可以使用UIPopoverControlleriPhone 版。

它在这里可用。

在弹出窗口中,您可以添加一个UIPickerView并且有下拉菜单。基本上,在 iPhone 上,您可以使用UITableViewUIPickerView来模拟下拉菜单。并将它放在一个漂亮的容器中,您可以使用上面提到的弹出框。

于 2012-07-12T07:38:49.257 回答
0

中没有这样的组件iOS,需要自己创建。您可以通过UIView在按钮下方添加一个并为其设置动画来做到这一点。就像是...

 [self.view addSubview:myMenu];
[myMenu setFrame:CGRectMake(100,30,150,0)];
[UIView animateWithDuration:0.4 animation:^{
    [myMenu setFrame:CGRectMake(100,30,150,200)];
}];
于 2012-07-12T07:40:47.330 回答
0
 //on Drop down button click  
 -(IBAction)btnDropdownPressed:(id)sender{
if (![popoverController isPopoverVisible]) 
{
  PopOverViewController *attShow=[[PopOverViewController alloc]initWithNibName:@"PopOverViewController" bundle:nil];
    NSLog(@"arrFiles==%@",arrFiles);

    attShow.arrFiles=arrFiles;
  {
    popoverController=[[[UIPopoverController alloc]initWithContentViewController:attShow] retain];
    [popoverController setPopoverContentSize:CGSizeMake(500,250)];

    [popoverController presentPopoverFromRect:CGRectMake(0,0, 500, 30) inView:btnMore permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

}else {
    [popoverController dismissPopoverAnimated:YES];
   }

}

PopOverViewController.h

  {
IBOutlet UITableView *tblView;
NSArray *arrFiles;
}
@property(nonatomic,retain)NSArray *arrFiles;

PopOverViewController.m

 - (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section
   {
return [self.arrFiles count];
  }

 -(CGFloat)tableView:(UITableView *)aTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
 {
return 40;
   }

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 {
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil)
{
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

cell.textLabel.text=[self.arrFiles objectAtIndex:indexPath.row];
cell.textLabel.font=[UIFont fontWithName:@"Arial" size:14.0f];
cell.selectionStyle=UITableViewCellSelectionStyleNone;

return cell;
} 
于 2012-07-13T06:14:44.437 回答