2012-01-29 32 views
5

Tôi gặp vấn đề về tỷ lệ trong ứng dụng PhoneGap. Vấn đề của tôi rất giống với số this question. Tôi muốn cho phép người dùng mở rộng quy mô trong ứng dụng của mình và vì đó là tất cả UIWebView nên nó hoạt động. Tôi đã đặt thẻ meta viewport sau trên các tập tin html địa phương của tôi và trên trang web từ xa mà PhoneGap mở sau khi xác thực:Chia tỷ lệ không hoạt động với PhoneGap trên iPad/iOS 5

<meta name="viewport" content="width=device-width; user-scalable=yes; initial-scale=1; maximum-scale=5; minimum-scale=1" /> 

Tôi cũng đã chỉnh sửa PhoneGap.plist và thiết lập EnableViewportScale YES. Cả hai cài đặt này đều không tạo ra bất kỳ sự khác biệt nào. Tôi chỉ đơn giản là không thể mở rộng các trang khi chạy trong PhoneGap. Người dùng của chúng tôi mong đợi mở rộng quy mô trong ứng dụng bởi vì họ đã quen với việc chạy ứng dụng đó trong trình duyệt. Ứng dụng hiển thị các tệp đồ họa, PDFS, v.v. và cần cho phép chia tỷ lệ.

tôi sử dụng jQuery-Mobile trên trang đăng nhập của địa phương, nhưng một khi hướng đến các ứng dụng tổ chức chỉ có jquery và varios

Bất kỳ ý tưởng là tại sao PhoneGap không cho phép ứng dụng của tôi để mở rộng quy mô với nhúm tiêu chuẩn và zoom cử chỉ?

EDIT: Ok, cập nhật hành vi kỳ quái. Giờ đây, việc chia tỷ lệ hoạt động và tôi đã không thay đổi bất cứ điều gì ngoại trừ thêm chức năng ChildBrowser cho một phần của ứng dụng. Bây giờ ứng dụng có thể mở rộng. Tôi nghi ngờ ChildBrowser thực sự có bất cứ điều gì để làm với nó bởi vì tôi có thể mở rộng mà không bao giờ sử dụng plugin ChildBrowser. Chuyện gì vậy? Tôi vẫn muốn câu trả lời để tôi biết lý do tại sao nó hoạt động vì tôi chỉ có khả năng bị mất quy mô một lần nữa trong một bản cập nhật trong tương lai nếu tôi không biết những gì làm cho điều này bắt đầu làm việc.

+0

Liên quan: http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/MetaTags.html –

+0

Vâng, không có gì ngạc nhiên khi quá trình thu phóng không hoạt động trở lại như tôi lo ngại. Vẫn không biết tại sao. Tất cả meta vẫn còn đó. – davidethell

Trả lời

2

Khi bạn thử nghiệm quy mô, bạn đã làm sạch dự án ở bất kỳ giai đoạn nào bằng cách sử dụng cmd + shift + k? Bạn sẽ thấy rằng index.html sẽ được lưu trữ rất nhiều bởi Xcode, vì vậy mỗi lần bạn triển khai vào trình mô phỏng hoặc thiết bị, bạn nên làm sạch dự án để đảm bảo html mới nhất được đưa đến thiết bị. Tôi đã dành hàng giờ trên các vấn đề không thể giải thích như thế này chỉ để nhận ra rằng nó chỉ là bộ nhớ đệm có hiệu lực.

Điều này có thể kiểm chứng bằng cách thực hiện lại các thay đổi, loại bỏ tỷ lệ, không làm sạch và triển khai. Bây giờ kiểm tra xem nó vẫn còn cân.

+0

Không Tôi đã không và tôi chắc chắn sẽ kiểm tra điều này, tuy nhiên, nếu index.html của tôi chỉ cung cấp khả năng đăng nhập và sau đó webview được chuyển hướng đến một trang web bên ngoài, bộ nhớ đệm sẽ vẫn áp dụng? Đây có phải là index.html ban đầu đặt quy mô cho toàn bộ ứng dụng hoặc meta của trang web bên ngoài có quyết định chia tỷ lệ khi tôi ở đó không? Tôi có nó ở cả hai nơi. – davidethell

+0

Bất kỳ tài liệu nào được tải vào thời điểm đó sẽ áp dụng tỷ lệ. Điều đó có ý nghĩa với tôi rằng nếu bạn không có thẻ meta trong index.html thì nó sẽ không mở rộng. Nhưng khi bạn truy cập trang web bên ngoài bằng thẻ meta thì tỷ lệ sẽ có hiệu lực. – sciritai

+0

Đó là những gì tôi nghĩ, nhưng đó không phải là trường hợp. Lúc đầu, tôi chỉ thêm meta vào trang web bên ngoài mà không có hiệu lực. Sau đó, tôi thêm nó vào index.html địa phương (mà tôi không thực sự muốn) và điều đó vẫn không hoạt động. Bây giờ không có thêm thay đổi meta nó hoạt động. – davidethell

0

Bạn có thể cần phải thêm hỗ trợ cho đa chạm trong chế độ xem của mình.

Đặt multipleTouchEnabled thành YES trên theWebView.

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