2016-03-23 3 views
4

Есть ли способ добавить дополнение к метке с помощью настраиваемого средства визуализации? Я знаю, что вы можете обманывать, добавляя представление контента вокруг метки и добавляя дополнение к представлению содержимого; но я хочу, чтобы пользовательский интерфейс был чище и не нужно добавлять дополнительный элемент.Xamarin.Forms - можно добавить дополнение к метке с помощью настраиваемого средства визуализации? (iOS)

Просто чтобы быть ясно, я не хочу, маржу - другими словами, если добавить цвет фона этикетки, вы должны увидеть отступы между текстом и фоном этикетки, как это:

enter image description here

+0

Я не мог найти ничего, используя стили или пользовательский рендеринг. Я знаю, что вы не хотите использовать свой пользовательский интерфейс, но как насчет настраиваемого элемента управления с текстовым полем, перекрывающим некоторый фон. По сути, это то, чего вы избегали, но без грязного кода в пользовательском интерфейсе. –

ответ

2

вы пробовали что-то вроде этого:

namespace CustomFinder.iOS.Renderers 
{ 
    public class DataLabelRenderer : LabelRenderer 
    { 
     protected override void OnElementChanged(ElementChangedEventArgs<Label> e) 
     { 
      if (Control == null) 
      { 
       SetNativeControl(new TagUiLabel()); 
      } 

      base.OnElementChanged(e); 
     } 
    } 

    public class TagUiLabel : UILabel 
    { 
     private UIEdgeInsets EdgeInsets { get; set; } 

     public TagUiLabel() 
     { 
      EdgeInsets = new UIEdgeInsets(0, 3, 0, 3); 
     } 
     public override void DrawText(CoreGraphics.CGRect rect) 
     { 
      base.DrawText(EdgeInsets.InsetRect(rect)); 
     } 
    } 
} 

у меня есть это от here не пробовал еще.