0

我正在使用以下代码在显示时从 iPhone 键盘中删除工具栏。

- (void) keyboardDidShowNotification:(NSNotification *)aNotification {

NSArray *array = [[UIApplication sharedApplication] windows];

for (UIWindow* wind in array) {
    for (UIView* currView in wind.subviews) {
        if ([[currView description] hasPrefix:@"<UIPeripheralHostView"]) {
            for (UIView* perView in currView.subviews) {
                if ([[perView description] hasPrefix:@"<UIWebFormAccessory"]) {
                    [perView removeFromSuperview];
                }
            }

        }
    }
}

}

这就像我想要的那样删除了工具栏,但它仍然在工具栏原来所在的位置上方留下了 1px 的边框。我该如何删除它?

此外,这似乎只是 iPhone Retina 显示屏上的问题。iPhone 3GS 和 iPad Retina 没有它。

4

1 回答 1

1

似乎是 removeFromSuperView 中的错误。在将工具栏作为输入附件视图添加到某些选择器以进行内联编辑时,我遇到了同样的问题。调用 2x removeFromSuperView 离开了边界。关闭选择器时使用 [self.view endEditing:YES] 有助于清理选择器和附加到它的附件视图,没有边框。也许这可以为您指明正确的方向?

于 2013-03-04T13:01:26.890 回答