我正在尝试将照片显示测验片添加到我正在创建的更大的应用中。到目前为止,设置的图片看起来像这样(粗略草案可以这么说)
16个标记的项目只是为了给出最终产品的感觉(它们将是应用程序中的白色瓷砖)。我如何编程,以便当用户点击显示图片时它们开始消失? NSTimer
?它们应该是标签还是UIView
s或??感谢任何提示。
我可以做到这一点,但是想要添加代码以使瓷砖随机消失并大致每秒消失
import UIKit
class ViewController: UIViewController {
var gameTimer : NSTimer!
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var tile15: UILabel!
@IBOutlet weak var tile16: UIView!
@IBOutlet var photoTilesHandler: [UIView]!
//@IBOutlet weak var viewTile: UIView!
//@IBOutlet var pictureTiles: [UILabel]!
@IBOutlet var buttonHandler: [UIButton]!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func revealButton(sender: AnyObject) {
Hide()
print("button pressed")
}
func Hide() {
var dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(1 * Double(NSEC_PER_SEC)))
dispatch_after(dispatchTime, dispatch_get_main_queue(), {
self.tile15.hidden = true
})
}
override func viewDidDisappear(animated: Bool) {
gameTimer.invalidate()
}
}
答案 0 :(得分:0)
将所有UILabels
/ UIViews
/ etc
放入IBOutletCollection
。然后在dispatch_after
的回调中执行以下步骤:
0.-您可能想要跟踪哪些图块已经面朝下。因此,通过这种方式,您可以随时了解已使用的索引,并始终选择新索引。
实现此目的的一种方法是存储可供选择的索引的完整列表,而不是考虑您的
IBOutletCollection
以下步骤作为参考您未使用的索引列表,并在您随机选择一个后删除它从列表中。
1.-确定0之间的一个/(一组)随机整数... [你的IBOutletCollection
]。长度 - 1]
2.-使用此数字作为索引,将[您的hidden
]对应元素的IBOutletCollection
属性设置为true
作为您的另一个问题,我的建议是将UIViews
与UILabel
内置或UIButtons
一起使用。标签的分区有点难以使用。