你可以帮助我吗
我想在ios 9中隐藏键盘上的配件栏 它的工作发现到ios 8但是在ios 9中我无法隐藏附件栏我厌倦了这段代码但它无法正常工作
for (UIView *possibleFormView in [keyboardWindow subviews]) {
if([[possibleFormView description] hasPrefix:@"<UIInputSetContainerView"])
{
for(UIView *view1 in possibleFormView.subviews)
{
if([[view1 description] hasPrefix:@"<UIInputSetHostView"])
{
for (UIView *peripheralView_sub in view1.subviews) {
//Hides the backdrop (iOS 8)
if ([[peripheralView_sub description] hasPrefix:@"<UIKBInputBackdropView"] ) {
[[peripheralView_sub layer] setOpacity:0.0];
}
if([[peripheralView_sub description] hasPrefix:@"<<_UIRemoteKeyboardPlaceholderView"])
{
CGRect newRect= peripheralView_sub.frame;
newRect.origin.y=44;
newRect.size.height=398-44;
peripheralView_sub.frame=newRect;
peripheralView_sub.clipsToBounds=false;
for(UIView *remoteKeyboardView in peripheralView_sub.subviews)
{
NSLog(@"Remote Key View %@",remoteKeyboardView);
}
}
if ([[peripheralView_sub description] hasPrefix:@"<UIWebFormAccessory"]) {
for (UIView *UIInputViewContent_sub in peripheralView_sub.subviews) {
CGRect frame1 = UIInputViewContent_sub.frame;
frame1.size.height = 0;
peripheralView_sub.frame = frame1;
UIInputViewContent_sub.frame = frame1;
[[peripheralView_sub layer] setOpacity:0.0];
}
CGRect viewBounds = peripheralView_sub.frame;
viewBounds.size.height = 0;
peripheralView_sub.frame = viewBounds;
[peripheralView_sub removeFromSuperview];
}
}
}
}
}
}
答案 0 :(得分:13)
您可以通过从活动文本字段中删除所有助手栏按钮来隐藏它。
UITextField *textField = ...
if ([textField respondsToSelector:@selector(inputAssistantItem)]) {
UITextInputAssistantItem *inputAssistantItem = [textField inputAssistantItem];
inputAssistantItem.leadingBarButtonGroups = @[];
inputAssistantItem.trailingBarButtonGroups = @[];
}