当尝试在iOS应用程序中绘制时,我们遇到了问题。经过几个小时的搜索没有运气,我们决定在这里问。
为了制作图纸,我们创建了一个类
import Cocoa
class DrawImageHolder: NSView {
override func drawRect(dirtyRect: NSRect) {
super.drawRect(dirtyRect)
print(" drawRect is executed ")
// drawing code
}
}
然后我们将班级连接到NSView
这样的
但我们收到了
来自控制台而不是绘图的- [NSApplication runModalForWindow:]可能无法在事务提交中调用(通常这意味着它是在一个内部调用的) view的-drawRect:方法。)模式对话框已被抑制为 避免僵局。
消息。
除了打印(“执行drawRect”)之外没有执行。
我们很可能忘记了一些简单的事情。
答案 0 :(得分:1)
您的类继承自NSView:
class DrawImageHolder: NSView
所以你正在使用print
:
print(" drawRect is executed ")
实际上是NSView
的{{1}}。该视图尝试显示一个用于打印的对话框,并且正如错误所述,它从一个不应该显示的位置开始。
解决方案是在print
前添加print
前缀,以便您明确使用Swift的Swift
代替print
的{{1}}:
NSView