0

如果这个问题非常基本,我深表歉意。我一直在谷歌搜索,但似乎找不到下拉警报横幅/标签的 api/reference(我不知道这个的正确术语,因此我在这里发布。

此:其中包含“请输入有效的电子邮件地址”的标签/横幅。

在此处输入图像描述

所以这是我的问题:

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

3 回答 3

4

看看这里,我相信你一定能找到适合你需要的东西。

基本思想是它只是一个 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;
}];
于 2013-07-24T01:00:34.160 回答
3

查看我的项目 - 它可能正是您正在寻找的东西。

https://github.com/alobi/ALAlertBanner

于 2013-08-14T22:31:38.010 回答
0

为了更轻松地控制动画警报,您可以将自定义视图嵌入到 UIStackView 中,然后简单地在动画块中显示/隐藏它。这种方式将显着减少为警报的可见性设置动画所需的代码量。

于 2017-03-31T11:29:06.137 回答