使用KeyBoardUtil處理軟鍵盤的彈出

來源:互聯網
上載者:User

 

iPhone的軟鍵盤為216像素高,程式員不得不在軟鍵盤彈出時想辦法調整視窗視圖,避免輸入控制項被彈出的軟鍵盤所遮擋。

 

iPhone程式員普遍採用註冊軟鍵盤事件的觀察者對象來對付這個問題。當軟鍵盤彈出時,表單的View被上移,當軟鍵盤隱藏時,表單的View恢複原來位置,這樣就避免了輸入控制項被遮擋。

 

KeyBoardUtil是我寫的一個類,正是使用了上述原理,但進行了一些封裝,便於程式員使用。

 

它的使用很簡單。首先在要使用的ViewController中匯入標頭檔:

 

#import"KeyBoardUtil.h"

 

並在類中聲明一個KeyBoardUtil成員變數:

 

KeyBoardUtil* keyboardUtil;

 

在類的初始化方法中,初始化KeyBoardUtil對象:

 

keyboardUtil=[[KeyBoardUtil alloc]initWithOwner:self offsetY:100];

 

ower參數為self,offsetY參數則指定了鍵盤彈出時視窗View將要上移的像素,一般最高為軟鍵盤全高216,但也可以不需要移動那麼多,請根據實際情況決定需要移動多少。

 

然後在View Controller的顯示和隱藏事件中分別調用KeyBoardUtil的reg和unreg方法:

 

#pragma mark 註冊/登出鍵盤彈出通知方法 www.2cto.com

 

-(void)viewWillDisappear:(BOOL)animated

 

{

 

[keyboardUtil unreg];

 

[keyboardUtil release];

 

}

 

 

 

-(void)viewWillAppear:(BOOL)animated

 

{

 

[keyboardUtil reg];

 

 

 

}

 

全部代碼就這些,是不是方便了許多?如果你喜歡這個小東西,那麼可以去資源裡下載:http://download.csdn.net/detail/kmyhy/3887363

 

摘自 kmyhy的專欄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.