删除UISearchBar下的1px边框

UISearchBar 1px黑色边框

我无法直接在UISearchBar视图下移除1px边框。 现在它看起来不匹配我完成button视图。 我试过了:

searchBar.layer.borderWidth = 0; searchBar.layer.shadowOpacity = 0; 

但是,这似乎并没有工作。 有任何想法吗?

没关系,我只是做了:

 searchBar.layer.borderWidth = 1; searchBar.layer.borderColor = [[UIColor whiteColor] CGColor]; 

它的工作原理!

 [searchBar setBackgroundImage:[UIImage new]]; 

对于Swift版本,在iOS9上testing:

 searchBar.backgroundImage = UIImage() 

它会显示像这样:

无边界结果

为了在Xamarin Forms中克服这一点,你需要创build一个CustomRendererSearchBar类。 喜欢这个:

 using System; using Xamarin.Forms.Platform.iOS; using Xamarin.Forms; using MyProject.iOS; [assembly: ExportRenderer(typeof(SearchBar), typeof(CustomSearchBarRenderer))] namespace MyProject.iOS { public class CustomSearchBarRenderer:SearchBarRenderer { protected override void OnElementChanged (ElementChangedEventArgs<Xamarin.Forms.SearchBar> e) { base.OnElementChanged (e); if (this.Control == null) return; this.Control.BackgroundImage = new UIKit.UIImage (); } } }