1

Я новичок в Xamarin.forms. Я использую SearchBar, а затем BoxView.Как удалить границу или цвет границы в SearchBar?

Проблема, с которой я столкнулась, заключается в удалении границы линии поиска.

enter image description here

Эта граница делает пользовательский интерфейс, как будто есть разделитель между SearchBar и BoxView.

Любая помощь в достижении этого очень ценится.

Спасибо большое :)

+0

какой платформе вы видите это на? можете ли вы включить свой Xaml – user1

+0

Похоже, что серый разделитель - ваш BoxView. Можете быть более конкретными? –

+1

@ MarioGalván Его граница не BoxView. Coz, та же граница не отображается в нижней части BoxView. Его граница только SearchBar. – GJDK

ответ

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

+0

Отличный !!!! @LainSmith ... предложение очень важно ... но я ищу решение, не используя Renderers. Если это единственный вариант, я поеду за ним. – GJDK

0

эффекты были введены в формах 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   
     } 
    } 
} 

Custom Renderers были единственным вариантом в Forms v1.x. Пользовательские рендереры отлично подходят для создания элементов управления с нуля, но при расширении встроенных элементов управления он немного ударил и промахнулся.

0

Использование StoryBoard:

enter image description here

Использование кода:

public override void ViewWillLayoutSubviews() 
     { 
      base.ViewWillLayoutSubviews(); 
      sampleSearchBar.SearchBarStyle = UISearchBarStyle.Minimal; 
      sampleSearchBar.BarTintColor = UIColor.Clear; 

     } 
+0

Ницца !! @Alvin George .... На данный момент я разрабатываю интерфейс, который будет использоваться как для iOS, так и для Android. Я считаю, что ваш ответ может помочь мне, если я использую Storyboard, а пользовательский интерфейс предназначен только для устройств iOS. – GJDK

Смежные вопросы