我是Xamarin.forms的新手。我使用 SearchBar ,然后使用 BoxView 。
我面临的问题是删除SearchBar的边框线。
此边框使UI看起来好像在SearchBar和BoxView之间有一个分隔符。
非常感谢任何帮助实现这一目标。
非常感谢:)
答案 0 :(得分:0)
认为您可能需要一个自定义渲染器,如下所示:
using MonoTouch.UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly:ExportRenderer( typeof(NamespaceOfApp.MySearchBar), typeof(NamespaceOfApp.iOS.SearchBarWithNoBarRenderer_iOS))]
namespace NamespaceOfApp.iOS
{
public class SearchBarWithNoBarRenderer_iOS : SearchBarRenderer
{
protected override void OnElementChanged( ElementChangedEventArgs<SearchBar> args )
{
base.OnElementChanged( args );
UISearchBar bar = (UISearchBar)this.Control;
//set background to empty image
bar.SetBackgroundImage (new UIImage (), UIBarPosition.TopAttached, UIBarMetrics.Default);
}
}
}
如果您需要使用自定义渲染器,请查看here
答案 1 :(得分:0)
效果在Forms v2中引入,作为扩展Forms基本控件的推荐方法。 https://developer.xamarin.com/guides/xamarin-forms/effects/
例如;这将是你的iOS效果代码...
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly:ResolutionGroupName ("MyCompany")]
[assembly:ExportEffect (typeof(FocusEffect), "FocusEffect")]
namespace EffectsDemo.iOS
{
public class FocusEffect : PlatformEffect
{
protected override void OnAttached ()
{
// your code here
}
protected override void OnDetached ()
{
// your code here
}
protected override void OnElementPropertyChanged (PropertyChangedEventArgs args)
{
base.OnElementPropertyChanged (args);
// your code here
}
}
}
自定义渲染器是Forms v1.x中的唯一选项。自定义渲染器非常适合从头开始构建控件,但在扩展内置控件时有点受欢迎。
答案 2 :(得分:0)