2010-08-26 30 views
5

Tôi có một UIWebView mà tôi đang đặt cho một số văn bản và hiển thị rồi ẩn, thay đổi văn bản và hiển thị lại. Vấn đề tôi đang gặp phải là khi tôi hiển thị lại chế độ xem, tôi sẽ thấy văn bản cũ ngay lập tức. Có cách nào để buộc UIWebView hiển thị văn bản mới khi nó hiển thị không?Làm cách nào để buộc UIWebView cập nhật khi màn hình tắt?

Mã này được ra lệnh một cách chính xác và trông như thế này:

[back assignLabelText:[facts getCurrentFact].answer]; 
[self doAnimation:back.view andViewToHide:front.view flipRight:YES]; 
+0

Tôi không biết liệu nó có đáng chú ý hay không nhưng trình mô phỏng dường như không có bất kỳ vấn đề gì với điều này. Chỉ khi tôi đang thử nghiệm trên iPhone của tôi 4. – Scotch

+0

điều gì đang xảy ra trong 'getCurrentFact'? – falconcreek

+0

getCurrentFact chỉ nhận được văn bản để hiển thị. assignLabelText thực hiện tất cả nhiệm vụ gán văn bản. – Scotch

Trả lời

1

Gọi setNeedsDisplay vào xem lại của

[back assignLabelText:[facts getCurrentFact].answer]; 
[[back view] setNeedsDisplay]; 
[self doAnimation:back.view andViewToHide:front.view flipRight:YES]; 
+0

Điều đó vẫn có độ trễ. Nếu tôi đã làm một cái gì đó như thế này trong Windows tôi muốn xem xét việc gọi DoEvents sau khi thiết lập các văn bản để nói cho vòng lặp UI để chạy nhưng tôi dường như không thể tìm thấy bất cứ điều gì như thế. – Scotch

+1

Thử thêm độ trễ trước khi thực hiện hoạt ảnh. Điều có thể xảy ra là hoạt ảnh của bạn tiết kiệm diện mạo trông như thế nào trước hoạt ảnh và không bao giờ cho phép nó hiển thị. –

+0

Hoạt động rực rỡ! Cảm ơn rất nhiều về mẹo này, tôi sợ điều tồi tệ nhất khi xem web đơn giản là không thể sử dụng trong hoạt ảnh, nhưng * phew * chúng có thể :) – Chris

2

Bạn nên đợi cho đến khi ít nhất của webViewDidFinishLoad: webview là bắn trước khi tiết lộ các webview. Thậm chí sau đó có thể có một số tụt hậu, vì vậy tôi thêm một sự chậm trễ thêm 0,1 giây trước khi tiết lộ xem.

+0

Tôi đặt độ trễ là 0,01 và nó hoạt động tốt – AlBeebe

1

Tôi đã thực hiện một số chức năng mới để thực hiện hoạt ảnh của mình và sử dụng độ trễ 0.1 để chạy chúng qua performSelector.

Nó giống như một hack nhưng nó hoạt động và nó sẽ chăm sóc các vấn đề tương tự tôi đã có với UILabels có thay đổi văn bản của họ.

+0

Đã thử 0,1, nó hoạt động đôi khi, những lúc khác nó chỉ trống. – ninjaneer

Các vấn đề liên quan