Tôi đang lấy dữ liệu văn bản từ tệp XML và muốn hiển thị ở định dạng giống trang sách bên trong một UIWebView
trên iPad. Các tệp XML sắp ra khỏi .epub
và mỗi tệp có chứa một chương duy nhất của một cuốn sách, chỉ được phân chia bằng thẻ p.Phân trang theo kiểu Ereader
Tôi muốn phân trang động các tệp này thành các trang giống như sách dựa trên kích thước của UIWebView
, là màn hình iPad đầy đủ, cũng như kích thước phông chữ do người dùng chọn. Tôi hiện đang tải một trang html trống với css liên quan vào một đoạn mã UIWebView
, lấy các đoạn dựa trên số ký tự như các chuỗi từ XML và in chúng vào html bằng cách sử dụng StringByEvaluatingJavaScriptFromString
và thuộc tính innerHTML.
Rõ ràng, thực hiện việc này bằng số ký tự tạo ra các trang được định dạng không đúng cách, được định dạng kỳ lạ, nhưng tôi không biết cách khác để "phân trang" văn bản.
Điều tôi đang tìm kiếm là điều gì đó giống với ứng dụng "eReader" trên iPad: http://www.ereader.com/. Dường như họ đang chia nhỏ một tệp duy nhất thành các trang động và tải tệp đó vào UIWebView
s. Làm thế nào được thực hiện?
Điều này rất thú vị và chắc chắn hữu ích. Sau đó, các câu hỏi tiếp theo là: nếu CSS "cột" toàn bộ chương, có cách nào để truy cập và chỉnh sửa nội dung cột qua DOM, để tự động thay đổi số trang, v.v ... không? Ngoài ra, làm cách nào để bạn hạn chế người dùng tự do cuộn theo chiều ngang qua chế độ xem, để chúng bị "khóa" khi xem một trang tại một thời điểm? – Chris
Ngoài ra, các cột CSS3 dường như hoạt động lạ khi bạn muốn có chiều rộng cột lớn hơn (nói về kích thước của cửa sổ iPad). Giải pháp của bạn là gì? Đã tạo một câu hỏi riêng ở đây: http: //stackoverflow.com/questions/4217936/css3-columns-and-uiwebview – Chris
đó là một cách tiếp cận thực sự thú vị. Bạn có thể xử lý các cột dựng sẵn của EPUB bằng cách sử dụng phương pháp đó hay sau đó sẽ phá vỡ thủ thuật 'pagination'? –