http://superman474.blog.163.com/blog/static/1206614620116193310502/
ipad 中的 UIPopoverController的使用
1、初始化UIPopoverController
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navigationController];
//必须是个 ViewController
/*且该 ViewController的 viewDidLoad方法中要设置其在popover中的尺寸,如
self.contentSizeForViewInPopover = CGSizeMake(300.0, 280.0);
*/
self.recentSearchesPopoverController = popover;
recentSearchesPopoverController.delegate = self; //self要实现UIPopoverControllerDelegate协议
2、设置当popover弹出时,用户仍可以交互的视图
// Ensure the popover is not dismissed if the user taps in the search bar.
popover.passthroughViews = [NSArray arrayWithObject:searchBar];
3、展现popover
[self.recentSearchesPopoverController presentPopoverFromRect:self.searchBar.bounds
inView:self.searchBar
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:NO];
4、消失popover
//dismiss the popover.
[recentSearchesPopoverController dismissPopoverAnimated:YES];
5、实现 UIPopoverControllerDelegate协议的方法
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
}
重要补充:设置弹出窗的位置
popover.popoverContentSize = CGSizeMake(300, 300); //弹出窗口大小,如果屏幕画不下,会挤小的。这个值默认是320x1100
CGRect popoverRect = CGRectMake(200, 700, 10, 10);
[popover presentPopoverFromRect:popoverRect //popoverRect的中心点是用来画箭头的,如果中心点如果出了屏幕,系统会优化到窗口边缘
inView:self.view //上面的矩形坐标是以这个view为参考的
permittedArrowDirections:UIPopoverArrowDirectionDown //箭头方向
animated:YES];
http://superman474.blog.163.com/blog/static/12066146201161931054863/
iphone之UIPopoverController
UIPopoverController按件,只有在ipad中才可以使用。
代码如下:
- (void)viewDidLoad
{
//列表
PopTableController *table=[[PopTableController alloc] init];
//设置展示的区域大小
table.contentSizeForViewInPopo
//实例化UIPopoverController
popoverController= [[UIPopoverController alloc] initWithContentViewContr
//使用点击按钮
list=[[[UIBarButtonItem alloc] initWithTitle:@"列表" style:UIBarButtonItemStyleBord
//将按钮添加到toolbar上
[toolbar setItems:[NSArray arrayWithObject:list]];
}
//按钮的事件
-(void)list:(id)sender
{
// presentPopoverFromBarBut
[popoverController presentPopoverFromBarBut
}
//隐藏
-(void)missView
{
//隐藏视图
[popoverController dismissPopoverAnimated:YES];
}