我正在創建一個iOS 7應用程序,我想在導航欄的右下方有一個SearchBar,並且我希望它們看上去像一塊。因此,我需要使用相同的顏色(已完成)對它們着色,然後移除NavigationBar底部和SearchBar頂部的細線。我怎樣才能做到這一點?如何刪除UINavigationBar和UISearchBar細線
回答
正式的,這隻能通過將navigationBar的shadowImage
設置爲空圖像來實現。但是,仔細查看說明文件,則說:
對於要顯示的自定義陰影圖像,還必須使用setBackgroundImage:forBarMetrics:方法設置自定義背景圖像。如果使用默認背景圖像,則將使用默認陰影圖像,而不管此屬性的值如何。
通過使用自定義背景圖像,您將失去模糊的背景半透明。
如果您覺得冒險,「髮際線」是一個UIImageView,它是導航欄的子視圖。你可以找到它並將它設置爲隱藏。例如,蘋果公司在其本機日曆應用程序中執行的操作就是這樣。請記得在當前視圖消失時顯示它。
對於那些有興趣如何實施@Leo Natan的「冒險」方法的人,我在my answer to the similar question中添加了示例代碼。
刪除UISearchBar頂部和底部的細線的一種方法是用可伸縮的替換背景圖片,該圖片沒有那個薄邊框。只是讓你選擇的顏色,然後PNG形方:
[searchBar setBackgroundImage:[[UIImage imageNamed:@"SearchBarImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 10, 10, 10)]];
由於背景是實心的,你可以使用幾乎你想要的任何插圖值。
爲了避免轉換到搜索時出現的外觀錯誤,我將insets設置爲0,0,0,0。它仍然很好,並且我沒有在點擊搜索字段時遇到圖形損壞。 – Joey
使用以下中的AppDelegate代碼(didFinishLaunchingWithOptions)
夫特:
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarPosition: .Any, barMetrics: .Default)
UINavigationBar.appearance().shadowImage = UIImage()
目標C:
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init]
forBarPosition:UIBarPositionAny
barMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
夫特3:
self.navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")
爲什麼我們必須設置一個字符串作爲參數??,這沒有意義,可以更好地設置一個枚舉。 – LeoGalante
搜索並嘗試了很多不同的解決方案。這是唯一一個使用UISearchController的人。 – jfredsilva
Objective-C:[self.navigationController.navigationBar setValue:@(YES)forKeyPath:@「hidesShadow」]; – jfredsilva
- 1. 用uisearchbar替換uinavigationbar
- 2. UISearchBar消失在UINavigationBar
- 3. iOS 11 UISearchBar在UINavigationBar
- 4. NSMutableAttributedString的刪除線粗細
- 5. 無法刪除UISearchBar
- 6. UINavigationBar和UISearchBar之間的小差距
- 7. UINavigationBar的消失使用的UISearchBar和SearchDisplayController
- 8. 如何刪除默認的UISearchBar len?
- 9. 如何從UIViewController中刪除UINavigationBar?
- 10. 如何刪除UINavigationBar的邊界底部?
- 11. 帶隱藏UINavigationBar的UISearchBar
- 12. UISearchBar不會刪除UISearchBarBackground
- 13. UISearchBar不刪除導航欄
- 14. iOS:刪除UINavigationBar動畫
- 15. 刪除UINavigationBar的邊界
- 16. 刪除自定義UINavigationBar的
- 17. 刪除UINavigationBar上的漸變
- 18. 從視圖中刪除UINavigationBar
- 19. 如何刪除線
- 20. UINavigationBar漸變細節
- 21. 如何刪除兩頁之間的白色細線
- 22. 如何刪除文本和豎線
- 23. ggplot2和geom_density:如何刪除基線?
- 24. 的UISearchBar到位的UINavigationController UINavigationBar的
- 25. UINavigationController的UINavigationBar中的UISearchBar不可點擊
- 26. 用UIBarButtonItem將UISearchBar添加到UINavigationBar
- 27. 如何顯示UISearchbar欄只在tableview不在UINavigationbar目標c
- 28. 如何刪除DataContractSerializer詳細信息
- 29. 如何刪除遠離細分的點?
- 30. 如何刪除白線?
http://stackoverflow.com/a/21302744/1463604 – Nishant