J'ai du mal à supprimer cette bordure 1px directement sous la vue UISearchBar. Maintenant, il ne semble pas correspondre à ma vue de bouton terminé. J'ai essayé:
searchBar.layer.borderWidth = 0;
searchBar.layer.shadowOpacity = 0;
Mais cela ne semble pas fonctionner. Des idées?
Peu importe, je viens de faire:
searchBar.layer.borderWidth = 1;
searchBar.layer.borderColor = [[UIColor whiteColor] CGColor];
et il fonctionne!
[searchBar setBackgroundImage:[UIImage new]];
Pour la version Swift, testée sur iOS9:
searchBar.backgroundImage = UIImage()
Cela ressemblerait à ceci:
Pour surmonter cela dans Xamarin Forms, vous devrez créer un CustomRenderer
dans la classe SearchBar
. Comme ça:
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 ();
}
}
}