Swift 每次调用Func时都会重写UIView
我的目标是在每次按下按钮时放置uiview。在我的gif中,您可以看到每次调用蓝色按钮时,它都被过度写入。当按下代码时,gif中应有2个UIView。您可以看到第一个视图消失的位置的透明视图。基本上,这段代码的所有错误在于当调用addBlackView时,它应该添加到屏幕上的视图中,基本上就像一个无限数组Swift 每次调用Func时都会重写UIView,swift,nslayoutconstraint,Swift,Nslayoutconstraint,我的目标是在每次按下按钮时放置uiview。在我的gif中,您可以看到每次调用蓝色按钮时,它都被过度写入。当按下代码时,gif中应有2个UIView。您可以看到第一个视图消失的位置的透明视图。基本上,这段代码的所有错误在于当调用addBlackView时,它应该添加到屏幕上的视图中,基本上就像一个无限数组 问题是,每次执行addBlackView时,您都在重复使用和重置blackView,因此您所做的更改将丢失(因此,在按下按钮后视图会回到中间位置) 您需要在addBlackView中创建一个
问题是,每次执行
addBlackView
时,您都在重复使用和重置blackView
,因此您所做的更改将丢失(因此,在按下按钮后视图会回到中间位置)
您需要在addBlackView
中创建一个完整的新视图,它将是您正在操作的“当前视图”,然后向其中添加手势识别器。然后,一旦再次执行addBlackView
,“currentView”将被“验证”(存储在数组中或需要对其执行的任何操作中),然后创建另一个以进行操作
大概是这样的:
private func addBlackView() {
let newBlackView = UIView(frame: CGRect(0, 0, 10, 10)) // whatever frame you want
self.view.addSubview(newBlackView)
self.currentView = newBlackView
}
问题是,每次执行
addBlackView
时,您都在重复使用和重置blackView
,因此您所做的更改将丢失(因此,在按下按钮后视图会回到中间位置)
您需要在addBlackView
中创建一个完整的新视图,它将是您正在操作的“当前视图”,然后向其中添加手势识别器。然后,一旦再次执行addBlackView
,“currentView”将被“验证”(存储在数组中或需要对其执行的任何操作中),然后创建另一个以进行操作
大概是这样的:
private func addBlackView() {
let newBlackView = UIView(frame: CGRect(0, 0, 10, 10)) // whatever frame you want
self.view.addSubview(newBlackView)
self.currentView = newBlackView
}
我在类型为“ViewController”的值处遇到一个错误,没有成员“currentView”“currentView”只是我为一个属性编写的名称,该属性将保存您正在操作的当前黑色视图,您必须创建它。我在“ViewController”类型的值处收到一个错误,没有成员“currentView”“currentView”只是我为一个属性编写的名称,该属性将保存您正在操作的当前黑色视图,您必须创建它。