我正在使用XCode的游乐场功能来开发自定义控件。但是,我在使用子例程(方法)来分解drawRect实现时遇到了问题。
以下是代码:
import UIKit
class CustomView : UIView
{
override func drawRect(rect: CGRect) {
var color = UIColor(red: 0.571, green: 0.857, blue: 1, alpha: 1);
var ovalPath = UIBezierPath(ovalInRect: rect);
color.setFill();
ovalPath.fill();
// if I uncomment this, the code runs in an infinite loop...
// drawCircle(rect);
}
func drawCircle(rect: CGRect) {
var color = UIColor(red: 0.571, green: 0.857, blue: 1, alpha: 1);
var ovalPath = UIBezierPath(ovalInRect: rect);
color.setFill();
ovalPath.fill();
}
}
var cv = CustomView(frame: CGRect(x: 0, y: 0, width: 400, height: 400));
如果我取消注释上面提到的调用drawCircle函数的行 - 代码在无限循环中挂起。
为什么会这样?