2014-11-17 25 views
9

Tôi có một ứng dụng loại từ điển ngoại ngữ cho phép sử dụng để nhập các từ được chuyển ngữ (sang tiếng Anh). Phần lớn các mục nhập là chữ thường, nhưng có một vài mục nhập là chữ hoa. Kể từ iOS 8, thanh tìm kiếm không còn nhận ra UITextAutocapitalizationTypeNone. Điều này gây ra sự thất vọng đáng kể cho người dùng cuối. Có bất kỳ chiến lược thực tế nào để tắt viết hoa ban đầu không? Hiện tại nó đang tắt trong cài đặt bảng phân cảnh cho UISearchBarIOS 8 không còn hỗ trợ UITextAutocapitalizationTypeNone

Đây là ứng dụng hiện có, được viết ban đầu cho iOS 6. Tài liệu hiện tại của Apple nêu rõ rằng AutocapitalizationType có sẵn từ iOS 2 đến iOS 7.1. Người dùng đã báo cáo thay đổi sau khi chuyển sang iOS 8.

+0

Khi bạn nói nó không được công nhận, điều gì làm bạn nghĩa là gì? Một cảnh báo trình biên dịch hoặc là văn bản đã nhập được viết hoa theo một cách nào đó? Hiển thị cách bạn thiết lập thanh tìm kiếm. – rmaddy

+0

@rmaddy Thanh tìm kiếm được thiết lập trong bảng phân cảnh. Phím caps lock được tự động bật cho ký tự đầu tiên, ngay cả khi sử dụng phím xóa để chuyển về vị trí đầu tiên. – Bill

+0

'autocapitalizationType' không được dùng nữa. Các tài liệu là gây hiểu lầm. Trước iOS 8.0, 'UISearchBar' có thuộc tính' autocapitalizationType'. Kể từ iOS 8, thuộc tính đã bị xóa nhưng giao thức 'UITextInputAttributes' đã được thêm vào. Giao thức này cung cấp thuộc tính 'autocapitalizationType'. Vì vậy, không có gì thay đổi hiệu quả. Tài sản vẫn tồn tại, nó chỉ được khai báo khác nhau. Nếu nó không hoạt động thông qua bảng phân cảnh, hãy thử thêm mã để đặt thuộc tính trực tiếp. – rmaddy

Trả lời

14

autocapitalizationType không được dùng nữa. Các tài liệu là gây hiểu lầm. Trước iOS 8.0, UISearchBar có thuộc tính autocapitalizationType. Kể từ iOS 8, thuộc tính đã bị xóa nhưng giao thức UITextInputAttributes đã được thêm. Giao thức này cung cấp thuộc tính autocapitalizationType. Vì vậy, không có gì thay đổi hiệu quả. Tài sản vẫn tồn tại, nó chỉ được khai báo khác nhau.

Nếu kịch bản không cung cấp một cách làm việc để thiết lập các autocapitalizationType tài sản, thiết lập nó trong mã:

self.someSearchbar.autocapitalizationType = UITextAutocapitalizationTypeNone; 
+3

trong Swift sử dụng UITextAutocapitalizationType.None – quemeful

+1

thiết lập thuộc tính này trong bảng phân cảnh không có gì, nhưng viết nó trong mã hiện các trick! Vì vậy, tôi upvote câu trả lời này, cảm ơn! –

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