UITextField 添加超过 1 个,生成随机
UITextField adding more than 1, spawn random
想知道为什么当我将 WhiteDot 拖到 SmallDot 上时它会向我的 UITextField 添加超过 1 个?每次我 运行 iPhone 模拟器时都会有所不同。有时它会添加 11、2、3、5 等。不知道为什么?
另一个问题,当 SmallDot 消失时,我还希望它在指定的视图中生成。分数在右上角。
class SecondViewController: UIViewController {
private var AddOne = 0
@IBOutlet weak var Score: UITextField!
}
@IBAction func handlePan(recognizer:UIPanGestureRecognizer) {
let translation = recognizer.translation(in: self.view)
if let view = recognizer.view {
view.center = CGPoint(x:view.center.x + translation.x,
y:view.center.y + translation.y)
}
recognizer.setTranslation(CGPoint.zero, in: self.view)
if (WhiteDot.frame.contains(SmallDot.frame)) {
SmallDot.image = nil;
AddOne += 1
Score.text = "\(AddOne)"
}
}
}
您提供的信息不多。
当用户用手指平移时,平移手势识别器会报告连续的坐标流。当您将一个点拖到另一个点上时,您可能会得到多个 "hits"。您需要进行某种测试,看看较小的点是否已被吃掉。由于您已经将小点上的图像设置为零,您可以检查:
if (WhiteDot.frame.contains(SmallDot.frame) && SmallDot.image != nil) {
SmallDot.image = nil;
AddOne += 1
Score.text = "\(AddOne)"
}
请注意,whiteDot
、smallDot
、addOne
和 score
等变量名称应以小写字母开头。 Class 名称和类型应以大写字母开头。这是 Swift 中的一个严格约定,您应该遵循它。该语言不会强制您遵循它,但我不会雇用不这样做的程序员。
想知道为什么当我将 WhiteDot 拖到 SmallDot 上时它会向我的 UITextField 添加超过 1 个?每次我 运行 iPhone 模拟器时都会有所不同。有时它会添加 11、2、3、5 等。不知道为什么? 另一个问题,当 SmallDot 消失时,我还希望它在指定的视图中生成。分数在右上角。
class SecondViewController: UIViewController {
private var AddOne = 0
@IBOutlet weak var Score: UITextField!
}
@IBAction func handlePan(recognizer:UIPanGestureRecognizer) {
let translation = recognizer.translation(in: self.view)
if let view = recognizer.view {
view.center = CGPoint(x:view.center.x + translation.x,
y:view.center.y + translation.y)
}
recognizer.setTranslation(CGPoint.zero, in: self.view)
if (WhiteDot.frame.contains(SmallDot.frame)) {
SmallDot.image = nil;
AddOne += 1
Score.text = "\(AddOne)"
}
}
}
您提供的信息不多。
当用户用手指平移时,平移手势识别器会报告连续的坐标流。当您将一个点拖到另一个点上时,您可能会得到多个 "hits"。您需要进行某种测试,看看较小的点是否已被吃掉。由于您已经将小点上的图像设置为零,您可以检查:
if (WhiteDot.frame.contains(SmallDot.frame) && SmallDot.image != nil) {
SmallDot.image = nil;
AddOne += 1
Score.text = "\(AddOne)"
}
请注意,whiteDot
、smallDot
、addOne
和 score
等变量名称应以小写字母开头。 Class 名称和类型应以大写字母开头。这是 Swift 中的一个严格约定,您应该遵循它。该语言不会强制您遵循它,但我不会雇用不这样做的程序员。