iPhone - 键盘角落按钮

4
我想在iPhone键盘左下角增加一个额外的按钮,就像下面的图片一样。这个可能吗?
2个回答

0

自定义这些按钮的唯一方法是重新构建键盘本身。

http://www.raywenderlich.com/1063/ipad-for-iphone-developers-101-custom-input-view-tutorial

Ray一直以来都有一些关于iPhone开发的好教程。能够自定义您的inputView只是战斗的一半。然后,您需要构建自定义视图。通常,您会想要模拟现有的键盘,显然使用您的自定义按钮。

顺便说一句,要关闭键盘,您需要通过第一个响应者resignFirstResponder。

当您达到这个程度时,这就是我用来做到这一点的代码

@implementation UIView (FindAndResignFirstResponder)
- (BOOL)findAndResignFirstResponder
{
    UIView *responder = [self findFirstResponder];
    if (responder) {
        [responder resignFirstResponder];
        return YES;     
    }
    return NO;
}
- (UIView*)findFirstResponder
{
    if (self.isFirstResponder) {
        return self;     
    }
    for (UIView *subView in self.subviews) {
        UIView *responder = [subView findFirstResponder];
        if (responder != nil)
            return responder;
    }
    return nil;
}
@end

如果您拥有所有输入的父视图,则可以在该视图上调用findAndResignFirstResponder。

或者,如您所见,findAndResignFirstResponder会在“找到”的第一响应者上调用resignFirstResponder。因此,如果您拥有第一响应者,只需将其放弃即可。


0

不是这样的。键盘是由系统拥有的。您可以更改键盘类型(普通、数字、Twitter等),但无法自定义它。这是一个值得+1的问题。


有些应用程序似乎可以覆盖此按钮。我猜他们要么为此编写了全新的键盘视图,要么以某种方式将按钮放置在按钮应该存在的空间上方。 - Fogmeister
2
可以不用重写任何东西就实现。您可以遍历键盘的视图层次结构并更改其按钮。问题是,这是一个未记录的功能,苹果有50-50的机会拒绝它。这真的取决于审核人员和他的心情。我见过两种情况。 - yinkou
1
没错。从某种意义上说,一切都是可定制的。你只需要知道该怎么做。但如果你打算进入应用商店,强烈建议不要试图以任何方式深入了解内部机制。 - Daniel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接