Ama*_*ulo 6 iphone objective-c ios
我看到很少有应用程序在扩展键盘,但我想知道他们是如何做到的.
这是两个例子.
现在我知道我可以将inputAccessoryView添加到UITextView,但它仍然有一条细线,将键盘与UIToolbar分开,就像在下面的图像上一样.

他们是怎么做到的?扩展持有键盘或其他方式的UIWindow?
更新1回答:
所以我使用了Tyraz所写的解决方案.
这是子类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];
}
Run Code Online (Sandbox Code Playgroud)
更新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;
Run Code Online (Sandbox Code Playgroud)
这就是解决方案应用于它的样子

在iOS 7上,您可以inputAccessoryView轻松创建匹配键盘样式:
[[UIInputView alloc] initWithFrame:<#frame#>
inputViewStyle:UIInputViewStyleKeyboard];
Run Code Online (Sandbox Code Playgroud)
我会尝试使用 inputAccessoryView 加上位于分隔线顶部并“填充间隙”的第二个视图。
将 inputAccessoryView 添加到键盘后(覆盖附件 UIView 子类中的 didMoveToSuperview 方法以在发生这种情况时收到通知),将其添加到 inputAccessoryView 的超级视图。
应该类似于您的附件 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];
}
Run Code Online (Sandbox Code Playgroud)
我还会覆盖附件 UIView 子类中的 setFrame,以更新 gapView 的框架,以防键盘框架发生更改。
| 归档时间: |
|
| 查看次数: |
2110 次 |
| 最近记录: |