你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 總結IOS封閉鍵盤/加入鍵盤的五種方法

總結IOS封閉鍵盤/加入鍵盤的五種方法

編輯:IOS開發綜合

話不多說,接上去就是幾種完成方法:

1,點擊編纂區之外的處所(UIView)

這是一種很直覺的辦法,當不再須要應用虛擬鍵盤時,只需點擊虛擬鍵盤和編纂區域外的處所,便可以將鍵盤收起,上面程式碼是在 UIView 中內建的觸碰事宜辦法函式,您可以參考 Touch Panel / 觸碰螢幕 / 壓力感應器的根本應用方法一文,找到更多關於觸碰事宜的辦法函式。

– (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if (![myTextView isExclusiveTouch]) {
[myTextView resignFirstResponder];
}
}

假如要應用此方法請務必記得,你操作畫面的 Custom Class 必定如果 UIView 才行。

畫面的 Custom Class 為 UIView

2. 點擊編纂區域之外的處所(UIControl)

收起虛擬鍵盤的方法與前一種雷同,然則假如你的觸碰事宜裡曾經且寫滿了程式碼,那末便可以斟酌應用,UIControl 的 Touch Up Inside 事宜來收起鍵盤,辦法是將以下程式碼與 UIControl 的 Touch Up Inside 事宜貫穿連接便可。

– (IBAction)dismissKeyboard:(id)sender {
[myTextView resignFirstResponder];
}

假如要應用此方法請務必記得,你操作畫面的 Custom Class 必定如果 UIControl 才行。
畫面的 Custom Class 為 UIControl

將收起鍵盤的辦法與 UIControl 事宜貫穿連接

3. 應用制造收起鍵盤的按鈕

當沒有編纂區域之外的處所可供點擊來收起鍵盤,本身制造一個按鈕來收起今朝的虛擬鍵盤,也是一個不錯的辦法,因為按鈕必需在虛擬鍵盤湧現能力顯示於畫面上,是以必需借用 NSNotificationCenter 來贊助我們斷定今朝鍵盤的狀況。
起首在 viewDidLoad: 事宜中,向 NSNotificationCenter 停止註冊,告知 NSNotificationCenter 我們的 doneButtonshow: 辦法函式。

– (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (doneButtonshow:) name: UIKeyboardDidShowNotification object:nil];
}

如今每當虛擬鍵盤湧現時,就會主動呼喚我們自界說的 doneButtonshow: 辦法函式,接上去只需在該辦法函式裡界說按鈕湧現的辦法便可。

-(void) doneButtonshow: (NSNotification *)notification {
doneButton = [UIButton buttonWithType: UIButtonTypeRoundedRect];
doneButton.frame = CGRectMake(0, 228, 70, 35);
[doneButton setTitle:@”完成編纂” forState: UIControlStateNormal];
[doneButton addTarget: self action:@selector(hideKeyboard) forControlEvents: UIControlEventTouchUpInside];

[self.view addSubview:doneButton];
}

最初是實作按鈕按下去時的 hideKeyboard: 辦法函式,務必記得要在函式中移除該按鈕。

-(void) hideKeyboard {
[doneButton removeFromSuperview];
[myTextView resignFirstResponder];

}

4. 應用斷定輸出字元

假如要應用輸出特定字元(例如 return 換行字元)來收起鍵盤,必需先在種別內的 @interface 區段採用 協議,您可以參考 Protocol 協議的應用方法一文,取得更多關於協議的資訊。

在采取 協議以後,接實在作出協議內的 textView:shouldChangeTextInRange:replacementText:辦法函式,此辦法函式會在字元輸出時觸發,而回傳的 BOOL 值則代表該字元能否要感化,以下程式碼就是在此辦法函式中,應用斷定輸出字元的方法來收起虛擬鍵盤(斷定字元為 return 換行字元)。

– (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if () {
[myTextView resignFirstResponder];
return NO;
}
return YES;
}

最初別忘卻在 viewDidLoad: 事宜中,將 UITextView 的署理物件指向本身,如許程式能力准確找到實作 協議辦法函式的種別。

– (void)viewDidLoad {
[super viewDidLoad];
myTextView.delegate = self;

}

5. 關於鍵盤掩蔽的成績

假如您在實作上有遭受到鍵盤掩蔽編纂區域的成績,可以參考應用 Animation 處理小鍵盤蓋住 UITextField 的成績一文,透過 Core Graphic 的 Animation 功效,在鍵盤湧現時同時挪動編纂區域來處理掩蔽的成績。

6. 總結

這些鍵盤的成績,在日常平凡的開辟進程中都邑碰到,有時刻不怎樣利益理。這篇文章寫的很具體,願望對年夜家的開辟能有所贊助。

【總結IOS封閉鍵盤/加入鍵盤的五種方法】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved