iPhone 上点击一个button,弹出一个popup view有什么简单实现方式。

2013-11-22 10:25:08 +08:00
 parkman
例如这样的效果:



4953 次点击
所在节点    iDev
13 条回复
darcy
2013-11-22 10:27:34 +08:00
搜一下今年的wwdc samplecode,里面有个TicTacToeApp的demo
parkman
2013-11-22 10:39:42 +08:00
@darcy 哪一个功能跟它很像
darcy
2013-11-22 11:23:29 +08:00
@parkman 你不是要popup view么?!
Veelian
2013-11-22 11:52:38 +08:00
fahchen
2013-11-22 12:44:28 +08:00
是要iPad上的formsheet modal那种?
parkman
2013-11-22 12:44:54 +08:00
@darcy 后面背景变得模糊了
darcy
2013-11-22 18:21:00 +08:00
@parkman 你自己加一层蒙板就能达到模糊的效果了
parkman
2013-11-23 09:31:45 +08:00
@darcy 你指的蒙板: 设置parent controller 的view的blur属性
@fahchen 类似 。。。
krafttuc
2013-11-23 15:16:58 +08:00
楼主指的是这个repo吗? https://github.com/rnystrom/RNGridMenu

整个控件实际上是一个新的view controller,view里面有blur view,有一个黑色半透明圆角背景view,然后就是多个menu item view。

1. blur是对原先界面做快照(screenshot)后用 `CoreGraphics` 渲染出来的。
2. 弹出的原理很简单,就是把这个view controller变成原始view controller的child view controller,把自己的view整体添加到原先的view controller的view里。为了fancy一点,再加个动画。
parkman
2013-11-23 18:49:22 +08:00
@krafttuc child view controller 的view 应该是跟它的parent view controller是一样的大小吧 。
krafttuc
2013-11-23 19:15:45 +08:00
@parkman 是的。源码里 `- (void)showInViewController:center:` 这个方法里有设置view的frame。稍微花点时间看看代码吧,除了blur和动画要点CG和CA的基础,其他都好懂。
parkman
2013-11-23 20:08:11 +08:00
@krafttuc 谢谢。我再 读一读
androidBrant
2013-11-26 11:40:09 +08:00
我会用UIWindow做这个popup view,像自定义UIAlertView一样。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/90165

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX