【问题标题】:iOS uilabel stay on screen when scrollingiOS uilabel 在滚动时停留在屏幕上
【发布时间】:2015-02-03 08:11:17
【问题描述】:

在我的应用中,当用户使用时,我会提供一些信息,例如“连接错误”或“图像已保存”

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

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

最像 Android 应用程序会做的事情,比如 this。 (抱歉,由于代表率低,请提供链接而不是发布图片。)

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

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

更喜欢不使用第三方的简单解决方案... 如果有任何进展,我们将不胜感激。

【问题讨论】:

  • 一个快速的解决方案是使用像github.com/TransitApp/SVProgressHUD这样的第三方库
  • 感谢您的快速回复!也许这是使用第 3 方最简单的方法
  • 是的,那里有很多这样的行为,而您在 iOS 中无法立即获得这种行为

标签: ios scroll position uilabel alert


【解决方案1】:

只需在超级视图中添加标签并将其隐藏

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;  
 }

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

【讨论】:

  • 感谢您的回复!位置问题是主要的头痛
【解决方案2】:

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

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

【讨论】:

  • 您能否添加一些代码,以便我们查看您在做什么?
【解决方案3】:

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

【讨论】:

  • 'm 使用 tableView 控制器,self.view 似乎等于 tableView
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-19
  • 1970-01-01
  • 1970-01-01
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多