Tôi có UIWebView đơn giản với html đã tải. Tôi muốn hiển thị PopoverView trỏ đến văn bản đã chọn. Tôi có thể nhận được menuFrame của UIMenuController và sử dụng rect của nó, nhưng kết quả không chính xác ở các góc của màn hình như tôi cần. Tôi có thể tính toán kích thước màn hình và nhận được menuFrame rect và sau đó tôi có thể giả sử nơi lựa chọn có thể được tìm thấy, nhưng tôi muốn chính xác biết văn bản được chọn ở đâu. Thông thường có thể không?Cách nhận tọa độ (CGRect) cho văn bản đã chọn trong UIWebView?
15
A
Trả lời
15
Bạn có thể sử dụng hàm javascript getBoundingClientRect() trên đối tượng phạm vi của văn bản đã chọn. Đây là cách tôi làm điều đó:
function getRectForSelectedText() {
var selection = window.getSelection();
var range = selection.getRangeAt(0);
var rect = range.getBoundingClientRect();
return "{{" + rect.left + "," + rect.top + "}, {" + rect.width + "," + rect.height + "}}";
}
và trong một thể loại trên UIWebView, bạn có thể sử dụng nó như ví dụ:
- (CGRect)rectForSelectedText{
CGRect selectedTextFrame = CGRectFromString([self stringByEvaluatingJavaScriptFromString:@"getRectForSelectedText()"]);
return selectedTextFrame;
}
Các vấn đề liên quan
- 1. nhận văn bản đã chọn từ một uiwebview Xcode
- 2. UILabel nhận CGRect cho chuỗi con của văn bản
- 3. UIWebView không thể chọn văn bản
- 4. Tọa độ chạm trong chế độ xem văn bản
- 5. Làm cách nào để lấy tọa độ của phần cuối của văn bản đã chọn bằng javascript?
- 6. Thông báo trong UIWebView rằng lựa chọn văn bản đã bắt đầu hoặc kết thúc?
- 7. Cách nhận tọa độ màn hình toàn cục của văn bản hiện được chọn qua API trợ năng.
- 8. Nhận văn bản của mục đã chọn trong một ListBox
- 9. Thay thế văn bản đã chọn trong vùng văn bản
- 10. Thay đổi giá trị CGrect cho hệ tọa độ người dùng
- 11. Nhận tất cả văn bản trên màn hình trong UIWebView
- 12. Cách bỏ chọn văn bản đã chọn trong ứng dụng iPad
- 13. Nhận văn bản đã chọn và các nút đã chọn trên một trang?
- 14. MATLAB cách nhận tọa độ nhấp chuột
- 15. JFreeChart nhận tọa độ chuột
- 16. Cách quấn văn bản đã chọn trong ckeditor
- 17. canvas html5 không điền văn bản tại tọa độ (0,0)
- 18. Cách nhận văn bản được chọn từ edittext trong android?
- 19. xoay tọa độ mặt phẳng cho dữ liệu và văn bản trong Java
- 20. Cách chọn văn bản bằng mã CodeMirror2 trong UIWebview IOS 5
- 21. jQuery đặt văn bản đã chọn
- 22. Đã tắt <input> cho phép chọn văn bản?
- 23. nhận tọa độ X và Y cho phần tử div
- 24. Ẩn xử lý lựa chọn văn bản sau khi thao tác trong UIWebView
- 25. Xóa văn bản đã chọn ComboBox
- 26. Phát triển iPhone: Grabbing chọn/văn bản đánh dấu trên UIWebView
- 27. Cách lấy tọa độ điểm của hình dạng bản vẽ đã sửa đổi? GoogleMaps API v3
- 28. Làm cách nào để tìm kiếm văn bản đã chọn?
- 29. Đọc văn bản và vị trí hình ảnh (tọa độ xy) bằng cách sử dụng PDFBox
- 30. Lựa chọn văn bản Android Trong chế độ xem web
Tôi đã thử nhưng nó sẽ trả về {(0,0), (0 , 0)} bạn có thể giúp tôi xin vui lòng – dineshprasanna
Nếu chúng tôi đặt thuộc tính scalesPageToFit của UIWebView thì nó không hoạt động như mong đợi. Bất kỳ giải pháp khác cho cùng. – Girish
có hoạt động với tệp pdf không? –