簡體   English   中英

在iOS中使用自定義鍵盤的正確方法?

[英]The Correct Way to do Custom Keyboards in iOS?

我希望在我的鍵盤上方實現一個自定義工具欄,用於包含一些自定義值的文本字段。 我在網上發現了大量的教程,但這個問題是要問最好的方法是什么。

本教程http://blog.carbonfive.com/2012/03/12/customizing-the-ios-keyboard/提供了我可以在許多教程中看到的最常見的方式,創建了一個新的UIView子類並使用委托來獲取該信息。

這就是共性。 但是,我遇到了這個教程,它在視圖控制器本身只創建工具欄,將它分配給textField inputAccessory,這很好。 事實上,我嘗試了代碼,沒有任何努力,我現在有一個自定義鍵盤。

http://easyplace.wordpress.com/2013/03/29/adding-custom-buttons-to-ios-keyboard/

這對我來說似乎有點太容易了,我認為正確的,Apple建議的方法是創建UIView子類並使用委托,以便帶有文本字段的視圖控制器充當該委托。

我在我的應用中專門針對iOS 7。

人們對此有何看法? 如果支持第二個更容易的鏈接並且很可能通過Apple的指導,那么這是一個很好的起點,但如果代表是要走的路,我寧願從一開始就研究它。

您的想法將不勝感激。

沒有'Apple Approved'的方法可以做到這一點,很難相信你在這里做的任何事都會讓你的應用被拒絕。 您在帖子中引用的自定義鍵盤具有iOS6外觀,並且在iOS6應用中顯得過時。 我很快就會提到一些iOS7的建議,但是模仿今天系統看起來像什么的持續危險保證會在以后看起來過時。 在Mac / Cocoa開發中,Apple在WWDC上說,如果你做了一些自定義的東西,讓它看起來是自定義的,不要采用標准的Apple小部件並嘗試復制它。 但這個建議大多被忽視了。

對於iOS 7,您可以創建與系統按下的按鈕 (未按下),但當有人按下它們時,它們將不會像系統按鈕那樣(即動畫向上和“氣球”)。

我目前正在使用一個出色的附加鍵盤,我的KOKeyboard前叉(使用上面的按鈕)。 這是一個很酷的補充。 按鈕看起來像iPad按鈕,每個按鈕都有5個按鍵。 通過拖動到一個角落,您可以選擇四個中的一個,然后在中間點擊可以獲得該鍵。 這可能對你的應用程序來說太過分了,但它真的幫助了我。 它看起來像這樣:

在此輸入圖像描述

(鍵/值位於下鋪視圖中。)中心控件可讓您移動光標 - 它像操縱桿一樣 - 可用於移動和選擇文本。 驚人的課程,我希望我發明了它!

此外,對於任何解決方案,您都希望使用UIToolbar作為持有鍵的視圖,因為它支持模糊疊加的視圖,就像鍵盤一樣。 您可以使用UIToolbar中沒有條形按鈕項(如果需要),只需添加子視圖。 這是我在這里學到的“技巧”,因為沒有其他方法可以模糊!

大衛的KOKeyboard (呃......,他用的那個 - 見下面David的評論)看起來不錯。 我懷疑他正在使用官方Apple機制:

inputAccessoryView

通常,您在UITextView上設置該值,但它可以是允許自己成為第一個響應者的任何類。

提供的視圖將放置在默認Apple鍵盤上方。

沒有官方機制(並建議反對)來修改任何系統提供的鍵盤正確的。 您可以添加它,如上所述。 您也可以使用自己的機制完全替換它。 如果設置,Apply將放棄視圖上的鍵盤設置並使用自定義輸入機制

inputView

將它設置為任何視圖 - Apple仍將管理其外觀和解雇,因為它是自定義鍵盤。

編輯 :當然,iOS 8.x增加了對鍵盤的重要訪問。 (這里沒有提到)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM