ios - 如何在 Xcode7 中卡住 swift 应用程序

标签 ios swift uiimageview delay

我想在 UIImageView 中显示“玩家 1 是获胜者”后,将 Tic Tac Toe 应用程序的所有功能卡住/暂停 2 秒。目前它会显示该消息,但只显示一瞬间,因此无法看到。

我尝试过使用该功能:

func delay(delay:Double, closure:()->()) {
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW,Int64(delay * Double(NSEC_PER_SEC))),dispatch_get_main_queue(), closure)

但这似乎并没有暂停我的应用程序,它只是延迟了后面的代码。这是一个问题,因为一旦应用程序暂停,用户仍然可以将游戏棋子放置在游戏板上。

提前致谢

最佳答案

要防止用户在显示获胜者标志时与游戏板交互,请将 UI 元素的 userInteractionEnabled 属性设置为 false。然后使用 delay 在 2 秒内将它们设置回 true

类似这样的事情:

imageView.image = UIImage(named: "Player1Wins")
board.userInteractionEnabled = false
delay(2) {
    imageView.image = nil
    board.userInteractionEnabled = true
}

关于ios - 如何在 Xcode7 中卡住 swift 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37906579/

相关文章:

ios - 协议(protocol)和反射中的静态变量

ios - 在 iPad 中显示保存的视频

iphone - 将 UIImageView 放在 UIScrollView 中而不使用 contentInset?

ios - iPhone - 同一应用程序的 2 个实例

ios - 如何在 iOS 中处理多个 UIAlertController?

ios - 如何设置状态栏白色 ios 7.1?

ios - RubyMotion 自定义 UITableViewCell 与 Nib

swift - 创建扩展导致 'ErrorType' 无法转换为 'NSError'

ios - 动态调整 UITableViewCell 大小

ios - 如何将 ImageView 及其属性从一个 View Controller 传递到另一个 View Controller ?