当前位置: 代码迷 >> Iphone >> iPhone 跟输入,键盘相关的属性
  详细解决方案

iPhone 跟输入,键盘相关的属性

热度:58   发布时间:2016-04-25 06:24:58.0
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];    }}
?
  相关解决方案