【问题标题】:Notification Message/Alert Message and UICollectionView :通知消息/警报消息和 UICollectionView :
【发布时间】:2017-03-15 09:38:26
【问题描述】:

我有一个导航栏、一个搜索栏,下面是一个集合视图。

我的第一个问题: 我想要一个自定义通知栏(警报消息?),它会出现在我的搜索栏正下方,在我的收藏视图上,仅在我第一次启动我的应用程序时,用户可以关闭它,就像这样:

我尝试使用 UIAlertControllers,但显然它不会成功。

我的第二个问题:

另外,我怎么能设法获得相同的通知栏/消息,但是,这一次,我没有将它放在我的集合视图上,而是试图找到一种方法将我的集合视图单元格下推为我的通知栏出现(动画?)以创建这样的效果:

非常感谢您的帮助!

祝你有美好的一天,

J.

【问题讨论】:

    标签: ios uicollectionview uialertcontroller notification-bar


    【解决方案1】:

    您可以通过使用 UICollectionReusableView 来实现这一点。您只需要根据您的要求更改标题的高度即可。

    这是我制作的示例项目供您参考。你可以运行它并尝试。

    https://mahesh-agrawal@bitbucket.org/mahesh-agrawal/collection-popup-test.git

    保管箱链接 - https://www.dropbox.com/s/j247mfshzld2tuj/collection-popup-test.zip?dl=0

    检查一下。

    【讨论】:

    • 嗨@M.K.感谢您的回答 !我可以完成第 1、2 和 3 步,但是我不确定如何按照运行时要求继续更改该视图的框架,正如您所建议的那样。关于第 4 步,如何我可以在不声明任何限制的情况下以编程方式选择弹出窗口的大小(高度和宽度)吗?谢谢你的帮助 ! J.
    • 如果您希望弹出窗口根据其内部内容调整其高度,则只需将 UILabel 添加到 UIView 并在从标签到视图提供 4 个对齐约束后为 UIView 调用 layoutIfNeeded。并根据要求,就像我假设有一个关闭按钮。单击您希望此弹出窗口消失的那个。您可以从 UIView 中删除 UILabel 并调用 layoutIfNeeded 并将 UIView 的框架高度更改为 0。告诉我您是否需要一个示例来达到您的目的。我会这样做,我会给你回购链接。但如果你明白我所说的,那就更好了
    • 对不起,我之前尝试过错误的方法,但我想出了一个完美的解决方案。检查我编辑的答案。
    • 感谢您的详细解答!我对 layoutIfNeeded 进行了一些研究,它看起来是解决我问题的好方法!我试图打开您发送给我的示例项目,但我无法打开它,请您在 DropBox 上将它发送给我吗?谢谢!
    • 谢谢,我正在检查!
    【解决方案2】:

    第一个问题:
    您可以在 Window 顶部添加自定义视图(您的自定义通知栏)。

    第二个问题:
    您在 collectionview 上方添加自定义视图,并为此自定义视图的高度约束创建出口。
    如果有通知,则设置 heightconstraint # 0 并在没有时设置 = 0(带动画)

    【讨论】:

    • 谢谢,我现在就试试 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2017-02-23
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    相关资源
    最近更新 更多