2013-09-26 56 views
5

Có một thuộc tính hữu ích trong dự án cảm ứng ca cao cho phép đặt kiểu dáng bàn phím duy nhất và duy nhất trong toàn bộ ứng dụng không? Giả sử tôi muốn UIKeyboardAppearanceAlert trên tất cả textFields và textViews tôi có trong ứng dụng của mình mà không cần sửa đổi trực tiếp bất kỳ thứ gì. Là có thể?Đặt UIKeyboardAppearance trên toàn bộ ứng dụng

Trả lời

8

Không, không thể. keyboardAppearance là một phần của giao thức UITextInputTraits và không được đánh dấu là phương thức UIAppearance. Nếu đó là bạn có thể làm một cái gì đó như:

[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceAlert]; 

Bạn có thể xác định phương pháp có thể được sử dụng với proxy xuất hiện bằng cách nhìn vào các tài liệu hay, từ bên trong mã của bạn, vào các tiêu đề UIKit (lệnh nhấp chuột vào một . phương pháp và nó sẽ đưa bạn đến header

Ví dụ, trong UINavigationBar.h, bạn có thể thấy điều này:.

@property(nonatomic,retain) UIColor *barTintColor NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR; // default is nil 

các UI_APPEARANCE_SELECTOR marker có nghĩa rằng thuộc tính này có thể được sử dụng trên proxy xuất hiện nó không có mặt trên keyboardAppearance, và nó không giống như bất kỳ phím nào trong info.plist cho phép bạn xác định diện mạo ứng dụng.

Đặt cược tốt nhất của bạn là phân lớp textfield và textview và sử dụng các lớp con đó ở mọi nơi.

+9

Thực tế trên iOS7 nếu bạn gọi '[[UITextField xuất hiện] setKeyboardAppearance: UIKeyboardAppearanceDark];' nó hoạt động, ngay cả khi thuộc tính không có UI_APPEARANCE_SELECTOR trang trí –

+4

mã của Luca làm việc cho tôi với UITextField, nhưng ứng dụng của tôi bị lỗi khi tôi cố gắng làm điều tương tự với UITextView. – arlomedia

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