我发现很少有应用程序扩展键盘,但我想知道他们是如何做到的。以下是两个例子:Textastic和Prompt。
我知道可以将inputAccessoryView添加到UITextView中,但仍然存在一条细小的线,它将键盘与UIToolbar分开,就像下面的图片一样。他们是如何做到的?扩展持有键盘的UIWindow还是以其他方式?
更新1:我已经使用了Tyraz编写的解决方案:
1. 子类化UIToolbar 2. 我使用了UIView而不是图片,该UIView的背景颜色与键盘渐变的完成颜色相同,并使用UIViewAutoResizingMaskFlexibleWidth,以便在旋转时覆盖键盘,高度为3像素
以下是子类化UIToolbar的代码:
更新2: 这是我将其添加到UITextView中的代码,以及我用作色调的颜色。
我在viewDidLoad中使用以下代码将其添加到UITextView中。
我知道可以将inputAccessoryView添加到UITextView中,但仍然存在一条细小的线,它将键盘与UIToolbar分开,就像下面的图片一样。他们是如何做到的?扩展持有键盘的UIWindow还是以其他方式?
更新1:我已经使用了Tyraz编写的解决方案:
1. 子类化UIToolbar 2. 我使用了UIView而不是图片,该UIView的背景颜色与键盘渐变的完成颜色相同,并使用UIViewAutoResizingMaskFlexibleWidth,以便在旋转时覆盖键盘,高度为3像素
以下是子类化UIToolbar的代码:
- (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;
这是应用解决方案后的效果