web-dev-qa-db-ja.com

UISearchBarの下の1pxの境界線を削除します

UISearchBar 1px black border

UISearchBarビューのすぐ下にある1pxの境界線を削除できません。これで、完了したボタンビューと一致しなくなったように見えます。私はもう試した:

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

しかし、それはうまくいっていないようです。何か案は?

41
ninjaneer

気にしないで、私はやった:

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

そしてそれはうまくいきます!

92
ninjaneer
[searchBar setBackgroundImage:[UIImage new]];
50
NaveenReddy

Swiftバージョンの場合、iOS9でテスト済み:

searchBar.backgroundImage = UIImage() 

次のように表示されます。

no-border-result

19
Cody

Xamarinフォームでこれを克服するには、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 ();
        }
    }
}
3
Moshe Taieb