为什么不绘制文字?

时间:2016-04-07 09:10:51

标签: ios swift core-graphics grand-central-dispatch dispatch-async

我使用Swift String.drawWithRect方法绘制文本。 在drawRect()中绘图时,它工作正常。 但是,当我将代码放在dispatch_after方法中时,它不会被绘制。

以下是代码:

    let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(Double(2)*Double(NSEC_PER_SEC)))
    dispatch_after(dispatchTime, dispatch_get_main_queue()){

        let paragraphStyle = NSMutableParagraphStyle()
        paragraphStyle.alignment = .Center
        let attrs = [NSFontAttributeName: UIFont.systemFontOfSize(12),
                     NSForegroundColorAttributeName: UIColor.grayColor(),
                     NSParagraphStyleAttributeName: paragraphStyle]

        let string = "Test"

        let x = 100.0
        let y = 100.0

        string.drawWithRect(CGRect(x: x, y: y, width: 100.0, height: 100.0), options: .UsesLineFragmentOrigin, attributes: attrs, context: nil)
    }

我猜它与绘制上下文有关,但无法弄清楚要做什么。 如何切换上下文,以便使用dispatch_after绘制文本? 提前谢谢。

0 个答案:

没有答案