我在寫一個通用的應用程序,主要用於晚上。我將需要顯示一個鍵盤,但不希望鍵盤的淺色盲視用戶和/或破壞他們的夜視。我不想經歷麻煩來創建自定義鍵盤,所以我認爲解決方案可能是將UIView放在鍵盤上,並給它一個0.5的alpha值的黑色背景色,但是我無法確定瞭解如何獲得UIView來覆蓋鍵盤。有誰知道如何做到這一點?蘋果是否允許這樣做?iPhone/iPad鍵盤調光
4
A
回答
6
鍵盤被找到作爲新窗口的子視圖,當它出現時被添加。發現它有點冒險和脆弱(需要在新的iOS版本中進行檢查,因爲它之前已經改變),但它確實有效並且允許(我正好在應用程序商店中的應用程序中進行夜間模式) 。
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1]; // This assumes you aren't adding any new windows yourself
for(UIView *keyboard in tempWindow.subviews)
{
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES) // This was different in an earlier version of iOS, and may well change again in the future!
{
[keyboard addSubview:maskView];
break;
}
}
這是在響應UIKeyboardDidShowNotification
對象的方法內完成的。我沒有在iPad上試過,這只是iPhone代碼。
正如你所說,遮罩視圖只是一個帶有黑色背景和一些透明度的普通視圖。您還可以使用提供按鍵之間的黑色空間的提示鍵盤樣式。
不幸的是,這種方法並不能防止小鍵閃爍(當你點擊一個鍵時彈出的較大鍵)處於全亮狀態。
0
嘗試在UITextFiled/UITextArea(正在使用的)的inputView
屬性上應用所需的更改。
+0
謝謝,但沒有,這是行不通的...... – Vic320 2012-01-02 18:43:43
相關問題
- 1. 立式多光標鍵盤
- 2. 閃光動作腳本按鍵盤信
- 3. 獲取光標位置Android鍵盤
- 4. 調用鍵盤快捷鍵,一鍵
- 5. 如何在帶有外接鍵盤的屏幕鍵盤上移動光標?
- 6. WPF阻止鍵盤調用
- 7. 在Windows上調整鍵盤快捷鍵
- 8. kdbg繼續調試鍵盤快捷鍵
- 9. 在鍵盤上調用鍵頭功能
- 10. 確定鍵盤在非鍵盤事件的方法調用
- 11. 如何使用鍵盤上的鍵「c」調用鍵盤快捷鍵功能
- 12. 檢查光盤托盤狀態
- 13. 鍵盤
- 14. 當表情符號鍵盤顯示時調整鍵盤大小或隱藏虛擬鍵盤
- 15. 我該如何改變鍵盤背光的亮度
- 16. 當隱藏軟鍵盤時隱藏光標來自editText
- 17. Xcode 6鍵盤光標不會出現在模擬器中
- 18. 第一個鍵盤外觀的動畫有時不光滑
- 19. 閃光燈 - 密碼登錄失敗Ctrl + Enter鍵盤
- 20. iOS從鍵盤擴展中移動光標
- 21. 刪除閃光滑塊組件上的鍵盤控件
- 22. 拍攝閃光燈鍵盤事件「轉義」
- 23. 絕對鍵盤輸入位置(閃爍光標)
- 24. 用C++/Visual C++控制光標和鍵盤
- 25. 如何將鍵盤光標/焦點移動到QLineEdit?
- 26. UITextView - 隱藏鍵盤後如何保持光標
- 27. 更改Macbook(Pro)鍵盤背光的亮度
- 28. 如何禁用EditText的鍵盤和光標功能..?
- 29. Android滾動Webview Editable到光標 - 軟鍵盤
- 30. Android隱藏鍵盤,但光標停留在屏幕上
我可以證實,這也適用於iPad!謝謝! – Vic320 2012-01-02 21:27:24
但我注意到,當你在iPad上分割鍵盤時,這不能正常工作。我懷疑我需要創建2個UIView--每個鍵盤的一半... – Vic320 2012-01-07 06:32:45
好點 - 正如我所說我沒有在iPad上這樣做,所以我沒有注意到這一點。像引入分離鍵盤這樣的東西正是爲什麼這是實現這一點的脆弱方式。 – jrturton 2012-01-07 08:50:28