我试图为我的简单绘图应用程序清除绘图画布。我创建了一个按钮,通过将UIImageView.image
设置为nil来删除图像。但是,当按下按钮时,什么也没有发生。ViewController代码:
import UIKit
var smoothLineView : SmoothLineView = SmoothLineView()
class ViewController: UIViewController {
@IBOutlet weak var mainDrawingCanvas: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
smoothLineView = SmoothLineView(frame: mainDrawingCanvas.bounds)
self.view.addSubview(smoothLineView)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func deleteCurrentCanvas(sender: AnyObject) {
mainDrawingCanvas.image = nil
}
}
字符串
完整的项目也可以找到:https://github.com/BananaSplitio/OpenSketch
2条答案
按热度按时间e5njpo681#
我不太清楚你想做什么,但我认为正在发生的事情是这样的。
您似乎只是使用图像的边界(mainDrawingCanvas)来创建另一个视图(smoothlineView)。无论您之后如何处理图像都没有关系,因为图像不是您视图的一部分。您的视图是smoothlineView,而不是mainDrawingCanvas。
要删除/删除图像(我假设是smoothlineView),尝试这样做,它应该工作。
字符串
watbbzwu2#
如果你在self.view中添加了smoothLineView,那么这个按钮就不会收到事件。如果把smoothLineView设置为蓝色,那么你就会明白为什么它不工作了。
你需要做一个按钮的IBOutlet,并在addsubview smoothLineView之后添加以下代码,
字符串
然后你需要删除一些你忘记删除的按钮的IBAction。之后,你需要改变你在deleteCurrentCanvas方法中的清除操作。