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 のバグのようです。インライン編集用の一部のピッカーに入力アクセサリ ビューとしてツールバーを追加するときに、同じ問題が発生しました。removeFromSuperView を 2 回呼び出すと、境界がなくなりました。ピッカーを閉じるときに [self.view endEditing:YES] を使用すると、ピッカーとそれに接続されているアクセサリ ビューが境界線なしでクリーンアップされました。おそらく、これはあなたを正しい方向に向けることができますか?

于 2013-03-04T13:01:26.890 に答える