最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS開(kāi)發(fā)之UIKeyboardTypeNumberPad數(shù)字鍵盤(pán)自定義按鍵

 更新時(shí)間:2016年08月24日 14:12:05   作者:Mr.pengge  
這篇文章主要介紹了iOS開(kāi)發(fā)之UIKeyboardTypeNumberPad數(shù)字鍵盤(pán)自定義按鍵 的相關(guān)資料,需要的朋友可以參考下

最近做一個(gè)搜索用戶(hù)的功能,這里使用了UISearchBar。由于搜索的方式只有手機(jī)號(hào)碼,所以這里的鍵盤(pán)要限制為數(shù)字輸入,可以這么做:

self.searchBar.keyboardType = UIKeyboardTypeNumberPad;如果使用的不是搜索框而是textField輸入框,可以設(shè)置textField的鍵盤(pán)屬性來(lái)展示 self.textField.keyboardType = UIKeyboardTypeNumberPad;監(jiān)聽(tīng)事件如下所示即可。

但是這里有個(gè)問(wèn)題,就是數(shù)字鍵盤(pán)上面沒(méi)有“搜索”按鈕,這樣子用戶(hù)在輸入完手機(jī)號(hào)碼后無(wú)法搜索。所以這個(gè)時(shí)候我們需要自己添加一個(gè)自定義的搜索按鈕,然后加到鍵盤(pán)上面。

解決思路如下所示:

1.自定義搜索button

2.監(jiān)聽(tīng)鍵盤(pán)出現(xiàn)的事件

3.遍歷搜索的Windows窗體,找到鍵盤(pán)的窗體,然后遍歷其子視圖,找到我們真正需要的鍵盤(pán)視圖

4.把我們自定義的按鈕加到上面找到的視圖里

這里要注意的一點(diǎn),隨著iOS SDK的不斷發(fā)展,keyboard的視圖名稱(chēng)也不斷在更新變化,當(dāng)你調(diào)試以下代碼無(wú)法得到期待的效果時(shí),請(qǐng)重新遍歷一次窗臺(tái),然后慢慢調(diào)試,找到真正需要的視圖名稱(chēng)。

解決代碼

1.自定義搜索按鈕

// 搜索按鈕
_searchButton = [UIButton buttonWithType:UIButtonTypeCustom];
_searchButton.frame = CGRectMake(0, 163, 106, 53);
[_searchButton setTitle:@"搜索" forState:UIControlStateNormal];
[_searchButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[_searchButton addTarget:self action:@selector(SearchButtonDidTouch:) forControlEvents:UIControlEventTouchUpInside]; 

2.監(jiān)聽(tīng)鍵盤(pán)出現(xiàn)的事件

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShowOnDelay:) name:UIKeyboardWillShowNotification object:nil];
- (void)keyboardWillShowOnDelay:(NSNotification *)notification {
[self performSelector:@selector(keyboardWillShow:) withObject:nil afterDelay:0];
}

這里面監(jiān)聽(tīng)通知后的執(zhí)行函數(shù)并非立馬執(zhí)行查找窗體的函數(shù),是因?yàn)樵趇OS4后,鍵盤(pán)添加到窗體的事件放到了下一個(gè)EventLoop,所以我們采用了延遲的方法。

3. 遍歷視圖,并添加按鈕

- (void)keyboardWillShow:(NSNotification *)notification {
UIView *foundKeyboard = nil;
UIWindow *keyboardWindow = nil;
for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) {
if (![[testWindow class] isEqual:[UIWindow class]]) {
keyboardWindow = testWindow;
break;
}
}
if (!keyboardWindow) return;
for (__strong UIView *possibleKeyboard in [keyboardWindow subviews]) {
if ([[possibleKeyboard description] hasPrefix:@"<UIInputSetContainerView"]) {
for (__strong UIView *possibleKeyboard_2 in possibleKeyboard.subviews) {
if ([possibleKeyboard_2.description hasPrefix:@"<UIInputSetHostView"]) {
foundKeyboard = possibleKeyboard_2;
}
}
}
}
if (foundKeyboard) {
if ([[foundKeyboard subviews] indexOfObject:_searchButton] == NSNotFound) {
[foundKeyboard addSubview:_searchButton];
} else {
[foundKeyboard bringSubviewToFront:_searchButton];
}
}
}

以上所述是小編給大家介紹的iOS開(kāi)發(fā)之UIKeyboardTypeNumberPad數(shù)字鍵盤(pán)自定義按鍵,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • IOS開(kāi)發(fā)中NSURL的基本操作及用法詳解

    IOS開(kāi)發(fā)中NSURL的基本操作及用法詳解

    NSURL其實(shí)就是我們?cè)跒g覽器上看到的網(wǎng)站地址,這不就是一個(gè)字符串么,為什么還要在寫(xiě)一個(gè)NSURL呢,主要是因?yàn)榫W(wǎng)站地址的字符串都比較復(fù)雜,包括很多請(qǐng)求參數(shù),這樣在請(qǐng)求過(guò)程中需要解析出來(lái)每個(gè)部門(mén),所以封裝一個(gè)NSURL,操作很方便
    2015-12-12
  • iOS-Mac配置Tomcat教程 Mac環(huán)境配置Tomcat教程

    iOS-Mac配置Tomcat教程 Mac環(huán)境配置Tomcat教程

    這篇文章主要介紹了iOS-Mac配置Tomcat教程,Mac環(huán)境配置Tomcat,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 解決ios audio無(wú)法播放問(wèn)題

    解決ios audio無(wú)法播放問(wèn)題

    這篇文章主要介紹了解決ios audio無(wú)法播放問(wèn)題,并給大家分享了解決方法,需要的朋友參考一下。
    2017-11-11
  • iOS 通過(guò)collectionView實(shí)現(xiàn)照片刪除功能

    iOS 通過(guò)collectionView實(shí)現(xiàn)照片刪除功能

    這篇文章主要介紹了iOS 通過(guò)collectionView實(shí)現(xiàn)照片刪除功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11
  • iOS仿微信相機(jī)拍照、視頻錄制功能

    iOS仿微信相機(jī)拍照、視頻錄制功能

    這篇文章主要為大家詳細(xì)介紹了iOS仿微信相機(jī)拍照、視頻錄制功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • swift3.0網(wǎng)絡(luò)圖片緩存原理簡(jiǎn)析

    swift3.0網(wǎng)絡(luò)圖片緩存原理簡(jiǎn)析

    這篇文章主要為大家簡(jiǎn)析了swift3.0網(wǎng)絡(luò)圖片緩存原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • iOS UIPickerView的簡(jiǎn)單封裝示例

    iOS UIPickerView的簡(jiǎn)單封裝示例

    這篇文章主要給大家介紹了關(guān)于iOS UIPickerView的簡(jiǎn)單封裝的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 詳解iOS App開(kāi)發(fā)中Cookie的管理方法

    詳解iOS App開(kāi)發(fā)中Cookie的管理方法

    iOS中主要靠NSHTTPCookieStorage和NSHTTPCookie來(lái)管理Cookie,下面我們就來(lái)詳解iOS App開(kāi)發(fā)中Cookie的管理方法,在最后一部分會(huì)單獨(dú)整理出如何清除Cookie的方法.
    2016-07-07
  • IOS代碼筆記之文字走馬燈效果

    IOS代碼筆記之文字走馬燈效果

    這篇文章主要為大家詳細(xì)介紹了IOS實(shí)現(xiàn)文字走馬燈效果的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • IOS 中XAMPP配置問(wèn)題及解決方法

    IOS 中XAMPP配置問(wèn)題及解決方法

    這篇文章主要介紹了IOS 中XAMPP配置問(wèn)題及解決方法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評(píng)論

彩票| 长春市| 东山县| 固阳县| 宁德市| 呼和浩特市| 临海市| 方城县| 灵石县| 华池县| 福州市| 花莲县| 新和县| 成武县| 德令哈市| 根河市| 安阳县| 塘沽区| 中方县| 长汀县| 榆中县| 青浦区| 永泰县| 高平市| 德州市| 莱阳市| 贡觉县| 揭东县| 绥德县| 陈巴尔虎旗| 自贡市| 翁牛特旗| 寿光市| 青州市| 长兴县| 庐江县| 鹿邑县| 尉犁县| 台州市| 长顺县| 甘泉县|