Iphone 将UIViewController显示为popover
我想将UIViewController显示为其他UIViewController上的小弹出框。 UIViewController应为显示模式,但不能覆盖整个屏幕。 它应该只显示在屏幕的下三分之一处 有人能给我指一个教程或给我一些提示来开始这个吗 我在谷歌上搜索了一个多小时,但没有找到任何对我有帮助的东西:( 谢谢你的帮助, 斯蒂芬这可能会有所帮助。 您必须在标头中声明popOverController,并将其作为属性并合成它Iphone 将UIViewController显示为popover,iphone,cocoa-touch,Iphone,Cocoa Touch,我想将UIViewController显示为其他UIViewController上的小弹出框。 UIViewController应为显示模式,但不能覆盖整个屏幕。 它应该只显示在屏幕的下三分之一处 有人能给我指一个教程或给我一些提示来开始这个吗 我在谷歌上搜索了一个多小时,但没有找到任何对我有帮助的东西:( 谢谢你的帮助, 斯蒂芬这可能会有所帮助。 您必须在标头中声明popOverController,并将其作为属性并合成它 if([self.popOverController isPopove
if([self.popOverController isPopoverVisible])
{
[self.popOverController dismissPopoverAnimated:YES];
return;
}
UINavigationController *favNav = [[UINavigationController alloc]
initWithRootViewController:favoritesView];
//favoritesView is an outlet to the VC Favorites
//make a nav controller with the root view an outlet to the view you want to present.
self.popOverController = [[[UIPopoverController alloc]
initWithContentViewController:favNav] autorelease];
[popOverController presentPopoverFromBarButtonItem:revealFavorites permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; //revealFavorites is the button i press to show the favorites popover
favoritesView.view.frame = CGRectMake(10, 10, 310, 320); //set the frame
if (![self.popOverController isPopoverVisible]) {
[favNav release];
}
}
这可能会有帮助。
您必须在标头中声明popOverController,并将其作为属性并合成它
if([self.popOverController isPopoverVisible])
{
[self.popOverController dismissPopoverAnimated:YES];
return;
}
UINavigationController *favNav = [[UINavigationController alloc]
initWithRootViewController:favoritesView];
//favoritesView is an outlet to the VC Favorites
//make a nav controller with the root view an outlet to the view you want to present.
self.popOverController = [[[UIPopoverController alloc]
initWithContentViewController:favNav] autorelease];
[popOverController presentPopoverFromBarButtonItem:revealFavorites permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; //revealFavorites is the button i press to show the favorites popover
favoritesView.view.frame = CGRectMake(10, 10, 310, 320); //set the frame
if (![self.popOverController isPopoverVisible]) {
[favNav release];
}
}
刚刚发现这个问题仍然没有答案……你有多种选择来实现在iPhone上运行这样的功能: 视情况而定,我想我会选择从NIB加载UIViewController子类,该NIB配置为显示屏幕大小的视图,backgroundColor属性设置为[UIColor clearColor]。将您希望显示为弹出框的任何子视图添加到该视图的所需位置(例如,屏幕的下三分之一)。然后,您可以使用UIModalTransitionStyleCrossResolve以模态方式呈现视图控制器,使其淡入,甚至可以使用背景视图截取触摸事件以关闭模态视图。
另一种可能是将popover的视图控制器的视图作为子视图添加到主视图控制器的视图中。您可以使用UIView的动画类方法来设置过渡动画。刚刚发现这个问题仍然没有答案……您有多个选项可以在iPhone上实现这一点: 视情况而定,我想我会选择从NIB加载UIViewController子类,该NIB配置为显示屏幕大小的视图,backgroundColor属性设置为[UIColor clearColor]。将您希望显示为弹出框的任何子视图添加到该视图的所需位置(例如,屏幕的下三分之一)。然后,您可以使用UIModalTransitionStyleCrossResolve以模态方式呈现视图控制器,使其淡入,甚至可以使用背景视图截取触摸事件以关闭模态视图。
另一种可能是将popover的视图控制器的视图作为子视图添加到主视图控制器的视图中。您可以使用UIView的动画类方法来设置过渡动画。您使用的是UIPopopOvercontoller,但这只是iPad…我想为iPhone构建类似的视图。但我想在e相同的位置。您正在使用UIPopOvercontoller,但这只是iPad…我想为iPhone构建类似的东西。但我想在同一位置显示所有视图。