小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

iOS開發(fā)之UITextField

 雪柳花明 2016-03-11

UITextField展示的是一些可編輯的內(nèi)容,并且與用戶有一些交互。比如當(dāng)你在虛擬鍵盤上按下return鍵時,一般會關(guān)聯(lián)到鍵盤隱藏事件上。UITextField的一些狀態(tài)大多在UITextFieldDelegate協(xié)議中有相應(yīng)的方法。

UITextField的初始化及一些屬性

//姓名輸入域
UITextField *nameField = [[UITextField alloc] initWithFrame:CGRectMake(30, 30, 200, 44)];
nameField.tag = 100;
nameField.delegate = self;
    //默認(rèn)文字
    nameField.placeholder = @"name";
    nameField.font = [UIFont systemFontOfSize:16.0f];
    nameField.textColor = [UIColor blackColor];
    //輸入框的背景圖片(還可以選擇設(shè)置背景顏色)
    nameField.background = [UIImage imageNamed:@"textFieldBackgroundImage"];
    //nameField.backgroundColor = [UIColor lightGrayColor];
    //清除按鈕
    nameField.clearButtonMode = UITextFieldViewModeAlways;
    //鍵盤類型
    nameField.keyboardType = UIKeyboardTypeDefault;
    [self.view addSubview:nameField];
    電話輸入域
    UITextField *phoneField = [[UITextField alloc] initWithFrame:CGRectMake(30, nameField.frame.origin.y + nameField.bounds.size.height+10, 200, 44)];
    phoneField.tag = 101;
    phoneField.delegate = self;
    phoneField.placeholder = @"phone";
    phoneField.keyboardType = UIKeyboardTypeDecimalPad;
    phoneField.clearButtonMode = UITextFieldViewModeAlways;
    [self.view addSubview:phoneField];
    //郵箱輸入域
    UITextField *emailField = [[UITextField alloc] initWithFrame:CGRectMake(30, phoneField.frame.origin.y + phoneField.bounds.size.height + 10, 200, 44)];
    emailField.tag = 102;
    emailField.delegate = self;
    emailField.placeholder = @"email";
    emailField.keyboardType = UIKeyboardTypeEmailAddress;
    emailField.clearButtonMode = UITextFieldViewModeAlways;
    [self.view addSubview:emailField];  

UITextField隱藏鍵盤

1.點擊鍵盤的return來隱藏鍵盤

這個方法需要在相應(yīng)的.h文件文件中實現(xiàn)UITextFieldDelegate協(xié)議。并在.m文件中添加如下方法

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

2.點擊界面空白處來隱藏鍵盤

這個方法的實現(xiàn)主要是給當(dāng)前的view增加點擊事件,并未點擊事件增加相應(yīng)的處理方法,此處是為了隱藏鍵盤,所以我們可以在點擊事件對應(yīng)的方法中讓UITextField放棄第一響應(yīng)者。

- (void)dismissKeyboard
{
    NSArray *subViews = [self.view subviews];
    for (id inputText in subViews) {
        if ([inputText isKindOfClass:[UITextField class]]) {
            if ([inputText isFirstResponder]) {
                [inputText resignFirstResponder];
            }
        }
    }
}

為當(dāng)前的view增加點擊事件

UITapGestureRecognizer *dismissKeyboardTap = [[UITapGestureRecognizer alloc]                                                initWithTarget:self                                                 action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer: dismissKeyboardTap];

UITextField--為內(nèi)容增加校驗

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    switch (textField.tag) {
        case 100://name
        {
            NSLog(@"this is nameField");
            //添加校驗name的代碼
            break;
        }
        case 101://phone
        {
            NSLog(@"this is phoneField");
            //添加校驗phone的代碼
            break;
        }
        case 102://email
        {
            NSLog(@"this is emailField");
            //添加校驗email的代碼
            break;
        }        
        default:
            break;
    }
    return YES;
}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多