2010-01-31 74 views
1

當我得知我必須編寫一些代碼來使iphone鍵盤消失。我很驚訝。當它變得吸引人時,我更驚訝它只是冰山的頂峯。需要實施的Iphone默認行爲?

系統OOTB未提供的預期UI行爲是什麼?

下面的列表是否完整?

預期的UI行爲:

  • 聚焦時[完成]下一個文本字段命中
  • 隱藏鍵盤時,背景被擊中
  • 使用觸摸的內心火一個按鈕動作。 (給用戶機會改變他/她的想法)
  • 支持屏幕旋轉。
+0

如果當前SDK中缺少某些內容,請不要只是在此抱怨。在http://bugreport.apple.com上提交增強請求 – 2010-02-01 13:52:20

+0

@Brad我在這裏發佈它,以便我可以學習。我對修復sdk不感興趣。 – 2010-02-02 08:54:04

回答

0

想要一個不是白色的圓角矩形按鈕?由於那個人使用背景圖片,你不能只是點擊某個地方,使它成爲你選擇的顏色。你必須創建你自己的圖像,或者你甚至可以使用CSS(WTF !?)來完成它。

+0

您可以使用CoreGraphics創建具有圓角矩形的圖像,或者使用cornerRadius屬性使圖層具有圓角,或者可以使用蒙版或多種其他方式中的任意一種。但編程很難,讓我們去購物! – rpetrich 2010-02-01 00:07:03

+1

是的,忘了提及這一點,我很興奮地寫下關於CSS漏洞的技巧,我錯過了Apple開發者的傳道。無論如何,它仍然不如在界面生成器中選擇顏色選擇器那麼容易,然後...是的,去購物。 – bpapa 2010-02-01 00:11:26

0

不幸的是,iPhone SDK缺乏很多有用的東西,人們會認爲只會有在那裏。然而,許多人花時間爲許多這類事情編寫包裝,以幫助促進開發 - 快速的谷歌搜索到你期待的功能可能會產生很多有用的答案!

例如,您可以通過創建新視圖並在屏幕上放置該視圖到任何用戶可交互視圖後面,從而在外部敲擊鍵盤時使鍵盤消失。當這個新視圖被點擊時,它將成爲第一響應者並導致鍵盤滑開(因爲UITextField不再是第一響應者)。

這樣的事情可以很容易地實現作爲一個插件修復幾乎任何東西,你只需要很少的代碼。

儘管如此,仍然應該包含在SDK中!

1

其中一些是愚蠢的,但也有一些使用。

聚焦下一個文本字段時,[完成]被擊中
哪個字段是「下一個」?如果你有一個很大的表單,並且它們的字段既可以緊挨着又可以在上面/下面,下一個可能不是那麼明顯。即使它們處於線性佈局,iPhone也不得不努力確定下一個是哪一個。你想在表格末尾換行,還是退出鍵盤,或者提交表單?

隱藏鍵盤時,背景被擊中
我主要是在這裏與你同意,但也有少數情況下,這是沒有用的。例如,在聯繫人應用中添加新的電話號碼。

使用觸摸的內心火一個按鈕動作
這一次我真的不明白。我只能猜測,它的目的是讓你使用按鈕,而不是touchesBegan/Moved/Ended方法。我想這可能是有用的,但我從來沒有用過任何東西,只有Touch Up Inside。

支持屏幕旋轉
許多應用程序不能在任何其他方向工作,如遊戲。如果你想使用旋轉,你只需要添加兩行代碼,假設你已經完成了你的佈局。

我希望這有助於解釋一些奇怪。除了鍵盤解僱之外,我從來沒有發現任何令人討厭的事情。我希望他們支持的一件事是將UIButtons的高亮狀態用於設置狀態。這將是一個快捷方便的切換按鈕,但我已經採取了突出顯示的按鈕的屏幕截圖並將其用於所選按鈕的背景圖像。

+0

我知道如何實現我提到的行爲。我詢問用戶期望的其他行爲,而不是由iphone os提供。 – 2010-01-31 18:24:07

+0

我不認爲它遇到,但我的文章是更多的解釋,爲什麼這些東西不會自動發生。按鈕的切換狀態是唯一令我煩惱的事情。在我看來,應該有一些UIButton的默認「開」指標。 – 2010-01-31 18:39:52

+0

在模擬音樂樂器的應用程序中使用按鈕中的向下觸摸。所以蘋果不會強迫你使用觸摸按鈕。 所有這些選擇都是爲了給程序員增加靈活性。 – Jay 2010-01-31 20:07:47