中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

ios開發(fā)自定義鍵盤,ios開發(fā)自定義鍵盤模式

IOS-OC 自定義數(shù)字鍵盤

//鍵盤的高度

成都創(chuàng)新互聯(lián)公司成立于2013年,先為望謨等服務(wù)建站,望謨等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為望謨企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

2 我們先定義兩個(gè)textField:用來接收鍵盤的輸入值

UITextField * textfield2 = [[UITextField alloc] initWithFrame:CGRectMake(170, 240, 180, 40)];

textfield2.tag = 222;

textfield2.backgroundColor = [UIColor orangeColor];

textfield2.layer.cornerRadius = 5;

textfield2.layer.masksToBounds = YES;

textfield2.clearButtonMode = UITextFieldViewModeAlways;

[self.view addSubview:textfield2];

UITextField * textfield3 = [[UITextField alloc] initWithFrame:CGRectMake(170, 300, 100, 40)];

textfield3.tag = 223;

textfield3.placeholder = @"驗(yàn)證碼";

textfield3.layer.cornerRadius = 5;

textfield3.layer.masksToBounds = YES;

textfield3.clearButtonMode = UITextFieldViewModeAlways;

textfield3.backgroundColor = [UIColor whiteColor];

[self.view addSubview:textfield3];

3 //鍵盤的輔助視圖

//設(shè)置輔助視圖的大小

UIView * grayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 40)];

//輔助視圖的背景顏色

grayView.backgroundColor = [UIColor lightGrayColor];

//.注意!!關(guān)鍵給鍵盤設(shè)置輔助視圖

textfield2.inputAccessoryView = grayView;

textfield3.inputAccessoryView = grayView;

//注意!!!!!!在這里我們用數(shù)組來接收1-9的值

NSArray * array = @[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"×",@"0",@"return"];

//X號操作刪除最后一個(gè)字符

//return 收回鍵盤

NSInteger index=0;

//設(shè)置每一行走的次數(shù)

for (int i = 0; i4; i++) {

//設(shè)置每一趟走的次數(shù)

for (int j = 0; j3; j++) {

//數(shù)組按鈕的顏色

button.backgroundColor = [UIColor whiteColor];

//數(shù)組按鈕上的文字

[button setTitle:array[index] forState:UIControlStateNormal];

index++;//將數(shù)組的元素進(jìn)行累加統(tǒng)計(jì)

//設(shè)置字體顏色

[button setTitleColor:[UIColor purpleColor] forState:UIControlStateNormal];

//加粗字體

button.titleLabel.font = [UIFont boldSystemFontOfSize:20];

//設(shè)置邊框的顏色

button.layer.borderColor = [UIColor grayColor].CGColor;

//設(shè)置邊框的寬度

button.layer.borderWidth = 3;

//設(shè)置1-9的數(shù)字方法

if (i3) {

[button addTarget:self action:@selector(b1Action:) forControlEvents:UIControlEventTouchUpInside];

}

else if(i == 3 j == 0){

//叉號 用來刪除字符

[button addTarget:self action:@selector(deleteChar:) forControlEvents:UIControlEventTouchUpInside];

}

-(void)b1Action:(UIButton *)b1{

//點(diǎn)擊當(dāng)前按鈕 就把按鈕上的文字 拼接到輸入框中

//1.獲取輸入框

}

-(void)deleteChar:(UIButton *)button{

}

-(void)takeBackKeyboard:(UIButton *)button{

UITextField *textField2 = (UITextField *) [self.view viewWithTag:222];

//釋放第一響應(yīng)者 也就是收回鍵盤

if (textField2.isFirstResponder == YES) {

[textField2 resignFirstResponder];}

}

效果如圖:

iOS鍵盤工具條自定義

在iOS中使用UITextField控件時(shí)會彈出軟鍵盤,此時(shí)默認(rèn)在軟鍵盤上方會出現(xiàn)一個(gè)工具條,一般默認(rèn)工具條有兩種樣式。

可以設(shè)置info.plist文件的Localization native development region項(xiàng)為cn,此時(shí)運(yùn)行會發(fā)現(xiàn)工具條的Done已經(jīng)變成了完成。

本人在項(xiàng)目中有用到 IQKeyboardManager 來增強(qiáng)鍵盤的功能,如果使用了這個(gè)輪子,設(shè)置

此時(shí)鍵盤的工具條即被隱藏。

第二種方法我使用了UITextField的inputAccessoryView屬性,可以給該屬性設(shè)置一個(gè)高度為0的View,也可以達(dá)到隱藏鍵盤工具條的效果

跟隱藏工具條中的第二種方法一樣,給inputAccessoryView屬性設(shè)置一個(gè)自定義的View,即達(dá)到自定義效果,此處把工具條改成紅色作為演示

運(yùn)行效果如下:

iOS 自定義鍵盤

自定義鍵盤屬于App的擴(kuò)展功能,添加擴(kuò)展鍵盤的步驟如下:

選擇自定義擴(kuò)展鍵盤,點(diǎn)擊Next,會自動創(chuàng)建一個(gè)父類是UIInputViewController 的KeyboardViewController文件。

要想app應(yīng)用和擴(kuò)展進(jìn)行通訊,需要創(chuàng)建Appgroup通道,創(chuàng)建方法如下圖所示

同樣在Targets 下的 app選中也要用同樣的方法創(chuàng)建傳送通道,app和擴(kuò)展才可以傳遞數(shù)據(jù)。

下面就是畫鍵盤了,鍵盤可以用xib創(chuàng)建,下面就是我創(chuàng)建的鍵盤

下面就是監(jiān)聽button點(diǎn)擊,進(jìn)行大小寫切換,刪除輸入等功能。

大小寫切換可以自定義一個(gè)方法,然后根據(jù)傳入的是否大寫或者小寫,返回?cái)?shù)組內(nèi)容,重新給button賦值

監(jiān)聽內(nèi)容輸入到輸入框,系統(tǒng)有自己的方法。?

"[weakSelf.textDocumentProxyinsertText:content];”

就可以進(jìn)行監(jiān)聽輸入的內(nèi)容了

iOS自定義數(shù)字+-鍵盤

平常項(xiàng)目中有可能會遇到系統(tǒng)或者第三方鍵盤不滿足于需求,我們就只能自定義鍵盤來滿足產(chǎn)品的奇奇怪怪需求

如圖:

1、 LAKeyboardDefine.h

2、通過設(shè)置顏色返回圖片的分類 UIImage+LAColor

3、獲取 UITextField 光標(biāo)的分類 UITextField+LARange

文章名稱:ios開發(fā)自定義鍵盤,ios開發(fā)自定義鍵盤模式
文章起源:http://www.rwnh.cn/article4/dssdeoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、用戶體驗(yàn)、建站公司網(wǎng)站設(shè)計(jì)公司、網(wǎng)頁設(shè)計(jì)公司網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
郑州市| 岳阳县| 全椒县| 新干县| 东平县| 高邑县| 乐陵市| 隆尧县| 耿马| 阿鲁科尔沁旗| 茶陵县| 大同市| 永春县| 古浪县| 阳信县| 墨竹工卡县| 肇庆市| 廊坊市| 阳西县| 凉城县| 潜江市| 德令哈市| 河东区| 贺州市| 来凤县| 奉化市| 霍林郭勒市| 吉木乃县| 灵台县| 宣汉县| 东港市| 桐乡市| 乐山市| 德兴市| 乌兰浩特市| 巴里| 潞城市| 忻州市| 措勤县| 滦平县| 密山市|