我正在爲iPhone做一個科學的可視化應用程序。定期地,一個UIView子類將接收來自網絡的一些數據,它必須通過其重寫的drawRect:方法來呈現。UIView。我如何重新顯示「數據驅動」的UIView?
我的挑戰是,沒有辦法向Cocoa-Touch表明這個數據已經到達 - 或者改變了 - 除了對UIView邊界的改變之外的其他被忽略的[myView setNeedsDisplay]。我試圖隱藏和取消隱藏。 Nuthin'。
令人難以置信的是,因爲我所做的只是改變了UIView [myView setNeedsDisplay]的一些內部狀態。 Cocoa-Touch完全無法看到這種變化。根據Cocoa-Touch的說法,這種改變並不是觸發重繪的標準之一,因此我的UIView坐在那裏,沒有改變。
這是非常,非常非常令人沮喪的。我在這裏撞牆了。
有人可能會提出一個技巧,竅門,黑客,這將提示我的UIView重新呈現。
乾杯, 道格
Will, 好吧,這很奇怪。我已經移除了對[myView setNeedsDisplay]的調用,因爲它之前沒有做任何事情。我把它放回去,drawRect正在射擊。嘆。感謝您的幫助。 – dugla 2009-10-04 16:20:15