iOS uilabel 滚动时停留在屏幕上

iOS uilabel stay on screen when scrolling

在我的应用程序中,当用户

时,我提供了一些信息,例如 "connection error" 或 "image saved"

引发了一些事件。我不想使用警报视图,而是想显示带有这些文本的标签

在屏幕上 大约2-3秒后自动消失

最喜欢 Android 应用会像 this 那样做。 (抱歉,由于代表率较低,因此使用 link 而不是 post 图片。)

正如我所做的那样[superView addSubview:label] 我的标签贴在后视图上并通过滚动移动。(superView = tableView)

当用户滚动它的 superView 时,如何让它保持在屏幕的固定位置?

更喜欢不使用第 3 方的简单解决方案... 如有任何预付款,我们将不胜感激。

将视图添加到您的 superView 后,您可以使用 [superView bringSubviewToFront:<#(UIView *)#>] 方法。这会阻止您的一些 scrollView 滚动 space,但会使您的标签保持在视图的最前面。

可以使用UIView的动画来添加标签的显示和隐藏

只需给超级视图添加一个标签并使其隐藏

label.hidden = YES; // write this in viewDidLoad()

并在事件操作中取消隐藏标签

label.hidden = NO;

然后设置一个定时器,让标签在 2 或 3 秒后消失。

//inside event action
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(hideLabel) userInfo:nil repeats:NO];

并在选择器方法中编写用于隐藏标签的代码

 - (void) hideLabel
 {
  _lblClick.hidden = YES;  
 }

希望这就是你想要的......

不要将标签添加到滚动的 superView。而是将它添加到 superView 或 viewControllers primaryView 的父级(默认情况下 self.view)并使用隐藏 属性。使用自动布局为各种布局定位标签。