【问题标题】:Appearing and Disappearing UIButton出现和消失的 UIButton
【发布时间】:2014-06-16 21:17:06
【问题描述】:

我是 Objective C 和 swift 的新手(我想我们都是 swift 的新手),但我试图让 UIButton 在我的应用程序屏幕上的不同位置出现和消失。到目前为止,这是我在我的一个视图控制器中尝试过的,但它似乎不起作用。

func addButton() {
  var start: CFTimeInterval
  var elapsedTime:CFTimeInterval
  let Button = UIButton()
  let picture = UIImage(named: "picture.png")
  Button.setImage(picture, forState: UIControlState.Normal)
  Button.frame = CGRectMake(0, 142, 106.6, 106.5)
  self.view!.addSubview(Button)
  while (elapsedTime < 1.0) {
      elapsedTime = CACurrentMediaTime() - start
  }
  Button.removeFromSuperView()
}

【问题讨论】:

  • 你应该使用 NSTimer 而不是 while 循环 - 我很确定 while 循环会阻塞你的 UI 线程,因此它永远不会真正呈现到屏幕上

标签: ios uibutton swift


【解决方案1】:

您可以使用方便的 GCD API 进行计时

dispatch_after(dispatch_time_t(1.0), dispatch_get_main_queue(), {
    button.removeFromSuperView()
})

如果它总是同一个按钮,最好创建一个变量或插座,然后回收按钮(你只需通过设置alphahidden属性让它出现和消失。如果是只是应该闪烁,您可以使用基本的CAAnimations。

注意:请养成使用以小写字母开头的变量名的习惯,否则您最终会将它们误认为是类名。

【讨论】:

  • 我明白你在这里做了什么,但是当我将此行添加到我的函数时,它根本不显示按钮
  • 首先注释掉使按钮消失的代码。调试首先添加按钮的代码。然后回去调试移除按钮的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多