您的位置:首页 > 其它

iphone的软键盘 及 软键盘增加一个 done 按钮

2012-04-25 14:16 357 查看


iphone 软键盘

分类: iPhone开发2010-08-24
16:13 1098人阅读 评论(0) 收藏 举报

当文本输入时, 文本框有几中选择用于辅助输入:

textField.clearButtonMode = UITextFieldViewModeWhileEditing;

Java代码

typedef enum {

UITextFieldViewModeNever, //clear button 永远不出现

UITextFieldViewModeWhileEditing, //编辑的时候出现

UITextFieldViewModeUnlessEditing, //未编辑的时候出现

UITextFieldViewModeAlways //永远都出现

} UITextFieldViewMode;

弹出的键盘类型也可以辅助快速输入:

textField.keyboardType = UIKeyboardTypeAlphabet;

Java代码

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;

Java代码

typedef enum {

UIKeyboardAppearanceDefault, // Default apperance for the current input method.

UIKeyboardAppearanceAlert, // Appearance suitable for use in "alert" scenarios.

} UIKeyboardAppearance;

键盘对输入字母的控制:

textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;

Java代码

typedef enum {

UITextAutocapitalizationTypeNone, //什么也不做

UITextAutocapitalizationTypeWords, //单词首字母大写

UITextAutocapitalizationTypeSentences, //句子首字母大些

UITextAutocapitalizationTypeAllCharacters, //所有字母大些

} UITextAutocapitalizationType;

键盘对输入字母自动纠正
textField.autocorrectionType = UITextAutocorrectionTypeYes;

Java代码

typedef enum {

UITextAutocorrectionTypeDefault,

UITextAutocorrectionTypeNo,

UITextAutocorrectionTypeYes,

} UITextAutocorrectionType;

确认键的类型
textField.returnKeyType = UIReturnKeyDone;

Java代码

typedef enum {

UIReturnKeyDefault,

UIReturnKeyGo,

UIReturnKeyGoogle,

UIReturnKeyJoin,

UIReturnKeyNext,

UIReturnKeyRoute,

UIReturnKeySearch,

UIReturnKeySend,

UIReturnKeyYahoo,

UIReturnKeyDone,

UIReturnKeyEmergencyCall,

} UIReturnKeyType;

最后一个技巧,也是网上收集,键盘透明以及增加一个按键的应用:
[[NSNotificationCenter defaultCenter] addObserver:self

Java代码

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];

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: