如何在iPhone上扩展键盘渐变?
我看到很少有应用程序在扩展键盘,但我想知道它们是如何做到的 这里有两个例子 & 现在我知道我可以将inputAccessoryView添加到UITextView,但它仍然有一条细线,将键盘和UIToolbar分开,如下图所示 他们是怎么做到的?扩展UIWindow以容纳键盘还是以其他方式 用答案更新1: 所以我使用了泰拉斯写的解决方案如何在iPhone上扩展键盘渐变?,iphone,objective-c,ios,Iphone,Objective C,Ios,我看到很少有应用程序在扩展键盘,但我想知道它们是如何做到的 这里有两个例子 & 现在我知道我可以将inputAccessoryView添加到UITextView,但它仍然有一条细线,将键盘和UIToolbar分开,如下图所示 他们是怎么做到的?扩展UIWindow以容纳键盘还是以其他方式 用答案更新1: 所以我使用了泰拉斯写的解决方案 UIToolbar子类 我使用的不是图像,而是背景色与键盘渐变的修饰色相同的UIView,并使用UIViewAutoResizingMaskFlexibleW
- (void)didMoveToSuperview {
[self.separatorHideView removeFromSuperview];
CGRect seperatorRect = CGRectMake(self.frame.origin.x,
self.frame.size.height,
self.frame.size.width,
3.0);
self.separatorHideView = [[UIView alloc]];
self.separatorHideView.backgroundColor = [UIColor colorWithRed:0.569 green:0.600 blue:0.643 alpha:1.000];
self.separatorHideView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[self addSubview:self.separatorHideView];
}
更新2:下面是我如何将其添加到UITextView的代码,以及我使用的色调颜色
我使用以下代码将其添加到viewDidLoad中的UITextView
CustomToolbar *accessoryToolbar = [[CustomToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 38)];
accessoryToolbar.tintColor = [UIColor colorWithRed:0.569 green:0.600 blue:0.643 alpha:1.000];
editor.inputAccessoryView = accessoryToolbar;
这就是应用解决方案后的情况
我会尝试使用一个inputAccessoryView加上位于分隔线顶部的第二个视图,“填充间隙” 将inputAccessoryView添加到键盘后(覆盖附件UIView子类中的didMoveToSuperview方法以在发生此情况时获得通知),将其添加到inputAccessoryView的superview 在附件UIView子类中应该是这样的:
- (void)didMoveToSuperview {
[self.separatorHideView removeFromSuperview];
CGRect seperatorRect = CGRectMake(self.frame.origin.x,
self.frame.origin.y + self.frame.size.height,
self.frame.size.width,
2.0);
UIImage *gapGradient = [UIImage imageNamed:@"GapGradient"];
self.separatorHideView = [[UIImageView alloc]initWithImage:gapGradient];
self.separatorHideView.frame = seperatorRect;
[self.superview addSubview:self.separatorHideView];
}
我还将覆盖附件UIView子类中的setFrame,以在键盘框架发生更改时更新gapView的框架。在iOS 7上,您可以创建一个
inputAccessoryView
以轻松匹配键盘样式:
[[UIInputView alloc] initWithFrame:<#frame#>
inputViewStyle:UIInputViewStyleKeyboard];
[[UIInputView alloc]initWithFrame:
inputViewStyle:UIInputViewStyleKeyboard];
这是问题的解决方案。我会用anser更新问题。嗨,Amar!实际上,我希望增强我的输入附件视图(即UIToolbar),使其具有与此处所述相同的外观。您介意公布分离器HideView背景色的确切颜色设置吗?您是如何将UIToolbar着色以使其具有与键盘匹配的渐变的?非常感谢!你好,尼纳德。没问题。我不知道为什么上面的代码中没有显示颜色,但我会修复它。非常感谢!为我工作!