Iphone 替换iOS默认键盘上的按钮功能
我知道如何创建自定义键盘。但我现在的问题是,我可以用我自己的按钮替换默认键盘上的一些按钮,或者我可以在上面添加更多的按钮Iphone 替换iOS默认键盘上的按钮功能,iphone,Iphone,我知道如何创建自定义键盘。但我现在的问题是,我可以用我自己的按钮替换默认键盘上的一些按钮,或者我可以在上面添加更多的按钮 这样:我想替换按钮“A”,当点击该按钮时,它将插入“B”或我想要的东西而不是“A”如果我理解正确,您不一定要将键盘上的“A”替换为“B”,而是希望插入“B”而不是“A”。这可以通过为UITextField/UITextView分配一个委托并实现相应的shouldChange方法来实现 如果使用的是UITextField,请执行以下操作: 如果使用的是UITextView,请实
这样:我想替换按钮“A”,当点击该按钮时,它将插入“B”或我想要的东西而不是“A”如果我理解正确,您不一定要将键盘上的“A”替换为“B”,而是希望插入“B”而不是“A”。这可以通过为
UITextField
/UITextView
分配一个委托并实现相应的shouldChange方法来实现
如果使用的是UITextField,请执行以下操作:
如果使用的是UITextView,请实施:
在这些方法中,您可以截取对文本字段或文本视图的更改,然后将其内容更改为所需内容
例如,如果要使用UITextField
,它将如下所示:
- (BOOL) textField: (UITextField *) textField shouldChangeCharactersInRange: (NSRange) range replacementString: (NSString *) string {
BOOL shouldChange = YES;
if ([@"A" isEqualToString: string]) {
shouldChange = NO;
[textField setText: [textField.text stringByReplacingCharactersInRange: range withString: @"B"]];
}
return shouldChange;
}
非常感谢!其他的按钮怎么样,比如返回,隐藏板。我可以改变它们的功能。就像现在的“隐藏键盘”按钮,我不想让它隐藏键盘,我想让它做些别的事情。有可能吗?是的,有可能。您必须查看不同的委托方法,如
-(BOOL)textField shouldendediting:(UITextField*)textField
或-(BOOL)textField shouldereturn:(UITextField*)textField
,以便潜在地完成这些其他行为。我非常感谢您的帮助。但这无助于我的问题你想解决什么具体问题?
- (BOOL) textView: (UITextView *) textView shouldChangeTextInRange: (NSRange) range replacementText: (NSString *) text
- (BOOL) textField: (UITextField *) textField shouldChangeCharactersInRange: (NSRange) range replacementString: (NSString *) string {
BOOL shouldChange = YES;
if ([@"A" isEqualToString: string]) {
shouldChange = NO;
[textField setText: [textField.text stringByReplacingCharactersInRange: range withString: @"B"]];
}
return shouldChange;
}