在现有屏幕上显示小视图/对话框的最佳方法?

时间:2012-02-01 11:09:23

标签: iphone objective-c ios xcode ipad

到目前为止我在应用程序中的所有视图/页面都是全屏UIViewControllers,我从堆栈中推送和弹出。

我看到一些应用程序创建了一个新的视图/窗口,大约是iPad全屏大小的1/3,包含要选择的项目表或其他UI元素。它们通常用于允许用户过滤当前的视图。

在应用程序中看到它们,我猜他们只是在当前屏幕上添加了一个UIView,并根据屏幕上想要显示的位置更改其框架。

或者我错了?还有其他/更好的方法吗?

4 个答案:

答案 0 :(得分:1)

我猜你在谈论UIPopovercontroller。有几个教程可以构建相同的内容。check this。希望对你有帮助。

答案 1 :(得分:0)

从你的问题看,这个视图看起来有点不清楚。

如果视图“附加”到UI元素(有一个小三角箭头将其连接到例如按钮),如果你在外面点击它就会消失,那么它就是UIPopoverController显示的视图

如果视图覆盖了所有内容并使其背后的内容变暗,则可能是模型视图控制器显示的是presentation style以太网页表或表单。

两者都很常见且易于设置。请参阅我已链接的课程文档。

答案 2 :(得分:0)

在大多数情况下,这些可能是普通的模态视图控制器,其modalPresentationStyle属性设置为UIModalPresentationPageSheetUIModalPresentationFormSheet

答案 3 :(得分:0)

是的,您可以制作自己的UIViews,只需将它们添加为子视图即可。 iPad的另一个选择是UIPopoverController类。