【问题标题】:Mimicking the functionality of iOS banner style notifications / in app navigation模仿 iOS 横幅样式通知 / 应用内导航的功能
【发布时间】:2012-01-31 16:57:42
【问题描述】:

我目前已将我的应用设置为接收推送通知。当我在应用程序中并收到推送通知时,我有一个自定义 UIView 从屏幕顶部向下滑动并显示通知(类似于新版本的 Whatsapps)。本质上,我是在尝试模仿 iOS 5 中的横幅样式通知。

我现在要做的是让 UIView 可点击。点击后,根据收到的通知类型,将把我带到不同的视图控制器(类似于 whatsapp 的操作方式)。

例如,我在聊天室 A。我在聊天室 B 中收到一条消息。滑块视图向下,我点击它,它会将我带到聊天室 B。在推送通知中,我实际上是在传递我可以传递的聊天室 ID用于确定我想加入哪个房间(基本上是一些视图)。

我已经有一个带有导航控制器的根视图控制器设置。当用户在整个应用程序中导航时,我会模态地推动其他视图控制器。我会在收到通知时关闭当前视图并推送下一个视图吗?

另外,我将如何让我的滑块视图检测到诸如 iOS 横幅通知之类的点击? (并且可能有一个选定的动画,类似于 UITableView 中的“灰色点击样式”)?

【问题讨论】:

    标签: ios uiview uinavigationcontroller navigation push-notification


    【解决方案1】:

    这里有一个检测视图点击的技巧:使用UIControl 而不是UIViewUIControlUIView 的超类)。然后使用UIControladdTarget:action:forControlEvents: 方法和UIControlEventTouchUpInsidecontrolEvents 在点击视图时向您选择的对象发送消息。如果您在 Xcode 的图形编辑器中配置视图,您可以使用身份检查器的 Class 字段将视图的类从 UIView 更改为 UIControl,然后您可以配置 Touch Up Inside 事件。

    (我从 iOS Programming: The Big Nerd Ranch Guide 中学到了这项技术,作者是 Conway 和 Hillegass。)

    【讨论】:

      【解决方案2】:

      您可以使用符合您的条件的“if”语句非常轻松地在视图上显示一个清除按钮,并从那里执行视图动画并转换回另一个视图。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-09-20
        • 1970-01-01
        • 2015-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多