iPhone 和輸入,鍵盤相關的屬性

當文本輸入時, 文本框有幾中選擇用於輔助輸入:

textField.clearButtonMode = UITextFieldViewModeWhileEditing;

typedef enum {
    UITextFieldViewModeNever, //clear button 永遠不出現
    UITextFieldViewModeWhileEditing, //編輯的時候出現
    UITextFieldViewModeUnlessEditing, //未編輯的時候出現
    UITextFieldViewModeAlways //永遠都出現
} UITextFieldViewMode;

 

 

彈出的鍵盤類型也可以輔助快速輸入:

textField.keyboardType = UIKeyboardTypeAlphabet;

typedef enum {
    UIKeyboardTypeDefault,                // Default type for the current input method.
    UIKeyboardTypeASCIICapable,           // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active
    UIKeyboardTypeNumbersAndPunctuation,  // Numbers and assorted punctuation.
    UIKeyboardTypeURL,                    // A type optimized for URL entry (shows . / .com prominently).
    UIKeyboardTypeNumberPad,              // A number pad (0-9). Suitable for PIN entry.
    UIKeyboardTypePhonePad,               // A phone pad (1-9, *, 0, #, with letters under the numbers).
    UIKeyboardTypeNamePhonePad,           // A type optimized for entering a person's name or phone number.
    UIKeyboardTypeEmailAddress,           // A type optimized for multiple email address entry (shows space @ . prominently).

    UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated

} UIKeyboardType;

 

鍵盤的呈現風格:

textField..keyboardAppearance = UIKeyboardAppearanceAlert;

typedef enum {
    UIKeyboardAppearanceDefault,          // Default apperance for the current input method.
    UIKeyboardAppearanceAlert,            // Appearance suitable for use in "alert" scenarios.
} UIKeyboardAppearance;

 

鍵盤對輸入字母的控制:

textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;

typedef enum {
    UITextAutocapitalizationTypeNone, //什麼也不做
    UITextAutocapitalizationTypeWords, //單詞首字母大寫
    UITextAutocapitalizationTypeSentences, //句子首字母大些
    UITextAutocapitalizationTypeAllCharacters, //所有字母大些
} UITextAutocapitalizationType;

 

鍵盤對輸入字母自動糾正

textField.autocorrectionType = UITextAutocorrectionTypeYes;

typedef enum {
    UITextAutocorrectionTypeDefault,
    UITextAutocorrectionTypeNo,
    UITextAutocorrectionTypeYes,
} UITextAutocorrectionType;

 

 

確認鍵的類型

textField.returnKeyType = UIReturnKeyDone;

typedef enum {
    UIReturnKeyDefault,
    UIReturnKeyGo,
    UIReturnKeyGoogle,
    UIReturnKeyJoin,
    UIReturnKeyNext,
    UIReturnKeyRoute,
    UIReturnKeySearch,
    UIReturnKeySend,
    UIReturnKeyYahoo,
    UIReturnKeyDone,
    UIReturnKeyEmergencyCall,
} UIReturnKeyType;

 

 

最後一個技巧,也是網上收集,鍵盤透明以及增加一個按鍵的應用:

 [[NSNotificationCenter defaultCenter] addObserver:self

                                             selector:@selector(keyboardWillShow:) 
                                                 name:UIKeyboardWillShowNotification 
                                               object:nil];



--------------------
- (void)keyboardWillShow:(NSNotification *)note {  
    // create custom button
    UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
    doneButton.frame = CGRectMake(0, 163, 106, 53);
    doneButton.adjustsImageWhenHighlighted = NO;
    [doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
    [doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
    [doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];

    // locate keyboard view
    UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
    UIView* keyboard;
    for(int i=0; i<[tempWindow.subviews count]; i++) {
        keyboard = [tempWindow.subviews objectAtIndex:i];
        // keyboard view found; add the custom button to it
        if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
            [keyboard addSubview:doneButton];
    }
}
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章