想知道为什么当我将白点拖到小点上时,它会在我的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)"

    }


        }
}

ios - UITextField添加超过1,产生随机-LMLPHP

最佳答案

你没有提供太多信息。
当用户用手指平移时,平移手势识别器会报告连续的坐标流。当你把一个点拖到另一个点上时,你可能会得到多个“点击”。你需要做些测试,看看小点是否被吃掉了。因为您已经将小点上的图像设置为零,所以可以检查:

if (WhiteDot.frame.contains(SmallDot.frame) && SmallDot.image != nil) {
    SmallDot.image = nil;
    AddOne += 1
    Score.text = "\(AddOne)"
}

注意,像whiteDotsmallDotaddOnescore这样的变量名应该以小写字母开头。类名和类型应该以大写字母开头。这是斯威夫特的一个强有力的惯例,你应该遵守它。这门语言并不强迫你遵循它,但我不会雇佣一个没有遵循它的程序员。

关于ios - UITextField添加超过1,产生随机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45134235/

10-14 20:45
查看更多