优化规则:
TodoViewController *contentViewController = [[TodoViewController alloc] init]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:contentViewController]; navigationController.contentSizeForViewInPopover = CGSizeMake(100, 100); //内容大小 UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navigationController]; 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]; [contentViewController release]; [navigationController release];
//最佳实践,使用哪个view做参考,就以哪个view的bounds送进去就好了,箭头自动指向这个view的中心