iOS提醒横幅/标签?

时间:2013-07-24 00:52:15

标签: ios notifications

如果这个问题非常基本,我道歉。我一直在谷歌搜索,但似乎无法找到下拉警报横幅/标签的api /参考(我不知道这个的正确术语),因此我在这里张贴。 / p>

这个:标签/横幅中有“请输入有效的电子邮件地址”。

enter image description here

所以这是我的问题:

  • 这是什么(警告横幅?通知?标签?)
  • 我正在尝试完成与图像中显示的功能类似的功能,因此基本上如果任何字段无效,“标签/横幅”会从导航栏下方展开,其中包含消息: 如果这只是一个UILabel,添加展开动画的最简单方法是什么? 如果它是内置的,因为我已经看到一堆应用程序用于提醒,请告诉我它的名称。

3 个答案:

答案 0 :(得分:4)

看看here,我相信你能找到满足你需求的东西。

基本的想法是它只是一个UIView,你可以从屏幕顶部动画下来(在最基本的时候)。你可以通过添加渐变,触摸识别器来解除它等等来获得更多的爱好者。但是,为了获得基线功能,您只需执行以下操作:

//Create a view to hold the label and add images or whatever, place it off screen at -100
UIView *alertview = [[UIView alloc] initWithFrame:CGRectMake(0, -100, CGRectGetWidth(self.view.bounds), 100)];

//Create a label to display the message and add it to the alertView
UILabel *theMessage = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(alertview.bounds), CGRectGetHeight(alertview.bounds))];
theMessage.text = @"I'm an alert";
[alertview addSubview:theMessage];

//Add the alertView to your view
[self.view addSubview:alertview];

//Create the ending frame or where you want it to end up on screen, in this case 0 y origin
CGRect newFrm = alertview.frame;
newFrm.origin.y = 0;

//Animate it in
[UIView animateWithDuration:2.0f animations:^{
    alertview.frame = newFrm;
}];

答案 1 :(得分:3)

查看我的项目 - 这可能就是你要找的东西。

https://github.com/alobi/ALAlertBanner

答案 2 :(得分:0)

为了更轻松地控制动画制作动画,您可以将自定义视图嵌入到UIStackView中,只需在动画块中显示/隐藏它即可。这样可以显着减少动画警报可见性所需的代码量。