替换iOS默认键盘上的按钮功能

时间:2013-07-30 04:32:39

标签: iphone

我知道如何创建自定义键盘。但我现在的问题是我可以用我自己的按钮替换默认键盘上的一些按钮,或者我可以添加更多按钮

像这样:我想要更换按钮“A”,当点击该按钮时会插入“B”或者我想要的东西而不是“A”

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你不一定要用“B”代替键盘上的“A”,而是要插入“B”而不是“A”。这可以通过为UITextField / UITextView分配代理并实施相应的 shouldChange 方法来实现。

如果您使用 UITextField ,请执行:

- (BOOL) textField: (UITextField *) textField shouldChangeCharactersInRange: (NSRange) range replacementString: (NSString *) string

如果您使用 UITextView ,请执行:

- (BOOL) textView: (UITextView *) textView shouldChangeTextInRange: (NSRange) range replacementText: (NSString *) text

在其中任何一种方法中,您都可以截取对文本字段或文本视图的更改,然后将其内容更改为您想要的内容。

例如,如果您使用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;
}