V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
parkman
V2EX  ›  iDev

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

  •  
  •   parkman · 2013-11-22 10:25:08 +08:00 · 5105 次点击
    这是一个创建于 4006 天前的主题,其中的信息可能已经有所发展或是发生改变。
    例如这样的效果:



    13 条回复    1970-01-01 08:00:00 +08:00
    darcy
        1
    darcy  
       2013-11-22 10:27:34 +08:00
    搜一下今年的wwdc samplecode,里面有个TicTacToeApp的demo
    parkman
        2
    parkman  
    OP
       2013-11-22 10:39:42 +08:00
    @darcy 哪一个功能跟它很像
    darcy
        3
    darcy  
       2013-11-22 11:23:29 +08:00
    @parkman 你不是要popup view么?!
    Veelian
        4
    Veelian  
       2013-11-22 11:52:38 +08:00
    fahchen
        5
    fahchen  
       2013-11-22 12:44:28 +08:00 via iPad
    是要iPad上的formsheet modal那种?
    parkman
        6
    parkman  
    OP
       2013-11-22 12:44:54 +08:00
    @darcy 后面背景变得模糊了
    darcy
        7
    darcy  
       2013-11-22 18:21:00 +08:00 via iPhone
    @parkman 你自己加一层蒙板就能达到模糊的效果了
    parkman
        8
    parkman  
    OP
       2013-11-23 09:31:45 +08:00
    @darcy 你指的蒙板: 设置parent controller 的view的blur属性
    @fahchen 类似 。。。
    krafttuc
        9
    krafttuc  
       2013-11-23 15:16:58 +08:00   ❤️ 1
    楼主指的是这个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
        10
    parkman  
    OP
       2013-11-23 18:49:22 +08:00
    @krafttuc child view controller 的view 应该是跟它的parent view controller是一样的大小吧 。
    krafttuc
        11
    krafttuc  
       2013-11-23 19:15:45 +08:00
    @parkman 是的。源码里 `- (void)showInViewController:center:` 这个方法里有设置view的frame。稍微花点时间看看代码吧,除了blur和动画要点CG和CA的基础,其他都好懂。
    parkman
        12
    parkman  
    OP
       2013-11-23 20:08:11 +08:00
    @krafttuc 谢谢。我再 读一读
    androidBrant
        13
    androidBrant  
       2013-11-26 11:40:09 +08:00
    我会用UIWindow做这个popup view,像自定义UIAlertView一样。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   972 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:27 · PVG 03:27 · LAX 11:27 · JFK 14:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.