将UIImageView设置为nil

时间:2015-07-08 01:12:17

标签: ios swift uiimageview core cgcontext

我正在尝试为我的简单绘图应用清除绘图画布。我创建了一个按钮,通过查看Event.flagged_events_for(user)为零来删除图像。但是,按下按钮时没有任何反应。 ViewController代码:

UIImageView.image

也可以找到完整的项目:https://github.com/BananaSplitio/OpenSketch

2 个答案:

答案 0 :(得分:2)

不完全确定你在这里要做什么。但是,这就是我认为正在发生的事情。

您似乎只使用图像的边界(mainDrawingCanvas)来制作另一个视图(smoothlineView)。无论你以后对图像做什么都没关系,因为图像不是你观看的一部分。你的视图是smoothlineView,而不是mainDrawingCanvas。

要删除/删除图像(我假设是smoothlineView),尝试这样做,它应该可以工作。

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) {
        smoothLineView.removeFromSuperview()
    }

}

答案 1 :(得分:0)

您将smoothLineView添加到self.view,然后该按钮将不会收到事件。将smoothLineView设置为蓝色,然后您就会明白为什么它不起作用。

你需要制作一个按钮的IBOutlet,并在addsubview smoothLineView之后添加以下代码,

self.view.bringSubviewToFront(button)

然后你需要删除忘记删除按钮的一些IBAction。 之后,您需要在deleteCurrentCanvas方法中更改清除操作。