2012-07-12 66 views

回答

1

您可以使用iPhone的UIPopoverController

它可用here

在彈出窗口中,您可以添加一個UIPickerView,並有下拉菜單。 基本上,在iPhone上,您可以使用UITableViewUIPickerView來模擬下拉菜單。 並將它放在一個漂亮的容器中,你可以使用上面提到的popover。

+0

不,你不能很遺憾。 'UIPopoverController'是iPad專用的。請參閱[docs](http://developer.apple.com/library/ios/#documentation/uikit/reference/UIPopoverController_class/Reference/Reference.html) – Krumelur 2012-07-13 06:40:37

+1

是的,「UIPopoverController」僅適用於iPad,但我已將一個鏈接到一個自定義的'UIPopoverController',這也適用於iPhone。 – George 2012-07-13 07:22:13

+0

我的評論意味着去其他答案。對於那個很抱歉。謝謝你的提示,順便說一下! – Krumelur 2012-07-13 10:40:30

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)]; 
}]; 
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; 
} 
相關問題