Ответ 1
Nevermind, я просто сделал:
searchBar.layer.borderWidth = 1;
searchBar.layer.borderColor = [[UIColor whiteColor] CGColor];
и он работает!
У меня возникли проблемы с удалением этой границы 1px непосредственно под представлением UISearchBar. Теперь это не похоже на мой сделанный вид кнопки. Я пробовал:
searchBar.layer.borderWidth = 0;
searchBar.layer.shadowOpacity = 0;
Но это, похоже, не работает. Любые идеи?
Nevermind, я просто сделал:
searchBar.layer.borderWidth = 1;
searchBar.layer.borderColor = [[UIColor whiteColor] CGColor];
и он работает!
[searchBar setBackgroundImage:[UIImage new]];
Для версии Swift, проверенной на iOS9:
searchBar.backgroundImage = UIImage()
Он будет выглядеть следующим образом:
Чтобы преодолеть это в Xamarin Forms, вам нужно создать класс CustomRenderer
для SearchBar
.
Вот так:
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 ();
}
}
}