Chúng tôi đang sử dụng PhoneGap để phát triển ứng dụng di động của chúng tôi, và chúng tôi mượn mã từ đây để loại bỏ các màu đen bên cạnh/trước/thực hiện thanh từ bàn phím:PhoneGap: hoàn toàn loại bỏ các thanh màu đen từ bàn phím iPhone
https://stackoverflow.com/a/9276023/35364
Mã nào tìm thấy thanh màu đen, dưới dạng đối tượng UIView và gọi 'removeFromSuperview' trên đó.
Chúng tôi không quen thuộc với iOS SDK/API. Vì vậy, trong khi chúng ta có thể nhìn vào mã và nhận được một ý tưởng về những gì nó đang làm, chúng tôi không thể nói nếu nó làm đúng cách, hoặc làm thế nào để cải thiện nó.
Các vấn đề cụ thể chúng tôi đang chạy vào:
Chúng tôi có một trường văn bản để viết một tin nhắn, và chúng tôi đang tự kiểm soát các vị trí của lĩnh vực này để được chính xác phía trên bàn phím, tương tự như sms mẹ đẻ ứng dụng. Nói cách khác, chúng tôi đang đặt nó ở nơi thanh màu đen được cho là.
Khi chúng tôi tập trung/nhập vào trường tin nhắn, hệ thống sẽ đẩy chế độ xem lên. Có vẻ như đây là một cơ chế để đảm bảo rằng trường văn bản không bị ẩn khi người dùng gõ vào nó.
Điều này xảy ra ngay cả khi trường văn bản là hiển thị.
Tôi nhận thấy rằng bằng cách đặt trường nhập ngay phía trên nơi thanh màu đen bình thường (ngược với phía sau nó), chế độ xem không cuộn.
Vì vậy, có vẻ như hệ thống bằng cách nào đó cho rằng thanh màu đen vẫn còn đó!
(Để kiểm tra lại: khi thanh màu đen không bị xóa và chúng tôi đặt trường văn bản ngay phía trên nó, chúng ta có thể lấy nét và nhập vào, và chế độ xem sẽ không cuộn).
Vì vậy, câu hỏi là:
Tại sao "hệ thống" đẩy nội dung lên khi chỉnh sửa một văn bản lĩnh vực đó là đúng nơi "đằng sau", nơi các thanh màu đen được coi là? Có phải vì thanh màu đen chưa được xóa hoàn toàn chưa? Chúng ta có cần phải làm một cái gì đó để "hoàn toàn" loại bỏ thanh màu đen? Chúng ta có cần buộc iOS tính toán lại kích thước của bàn phím không? hay chính xác thì sao?
Cơ chế này (đẩy chế độ xem) được triển khai bởi UIWebView của iOS hay bằng Phonegap?
Có ứng dụng nào trên điện thoại đã giải quyết được sự cố này không?
Cảm ơn, điều này có vẻ như nó có thể làm việc. Một điều mặc dù tôi không chắc chắn 'webb' được cho là như thế nào. Tôi đã thử 'UIScrollView * webScroll = [self.webView.subviews lastObject];' nhưng điều đó dường như không hoạt động. – hasen
ups yeah đó là webView tạm thời của tôi, một 'IBOutlet'. Nhưng nó sẽ hoạt động như bạn đã thử. Vui lòng 'NSLog (% @, self.webView.subviews)'. Có lẽ bạn có nhiều bản xem trước, tôi chỉ có một (scrollView) –
Tôi nghĩ 'self.webView.scrollView' cũng sẽ hoạt động. – hasen