2013-01-10 21 views
0

我使用以下代碼在iPhone鍵盤顯示時從工具欄中刪除工具欄。如何刪除iPhone的KeyBoard工具欄邊框?

- (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沒有它。

+1

這是一個非常糟糕的做法。你不能直接通過調用UITextField的'inputAccessoryView'方法並將其設置爲nil來訪問鍵盤的配件視圖嗎? –

+0

因爲我使用的是UIWebView,所以不需要這樣做。 – user1591020

回答

1

似乎是removeFromSuperView中的一個bug。添加工具欄作爲輸入附件視圖時,對於內聯編輯的一些採購員,我遇到了同樣的問題。調用2x removeFromSuperView會留下邊界。 關閉拾取器時使用[self.view endEditing:YES]有助於清理拾取器和附件的附件視圖,無邊界。也許這可以讓你指向正確的方向?