我的视图中有一个工具栏。它包含一个带有图标的Bar按钮项,实际上它不是一个图标(它是一个自定义字体)。我正在使用它将图标与同一客户的其他Web应用程序统一起来。
无论如何,我怎么能稍微增加上边距...也许给定的例子显示了一个过滤器图标,我可以很容易地用真实图像图标(不是字体)替换它。但是其他一些图标,这是不可能的。
修改1:
我正在使用C#(Xamarin)。即使有对象-c代码。我很好。
var att = new UITextAttributes ();
att.Font = FontHelper.GetIconFont (32.0f);
this.btnFilter.SetTitleTextAttributes (att, UIControlState.Normal);
自定义图标字体方法:
public static UIFont GetIconFont(float size)
{
var nfloatSize = nfloat.Parse (((float)size).ToString ());
return UIFont.FromName(_fontIcons, nfloatSize);
}
答案 0 :(得分:1)
尝试这样的事情,
float offset = 3.0f;
UIBarButtonItem * barItem = [[UIBarButtonItem alloc] initWithTitle:@"title"
style:UIBarButtonItemStyleDone
target:nil action:@selector(someMessage)];
[barItem setBackgroundVerticalPositionAdjustment:offset forBarMetrics:UIBarMetricsDefault];
答案 1 :(得分:0)
我不确定您使用的是哪种语言,但使用backgroundVerticalPositionAdjustment
的{{1}}属性。
UIBarButtonItem
答案 2 :(得分:0)
我正在考虑做子类UINavigationBar的方法,并覆盖layoutSubviews并重新定位UIBarButtonItem。另外,不要忘记在Interface Builder中将UINavigationBar类设置为UINavigationBar子类。所以你可以尝试这样的事情:
TreeCell
答案 3 :(得分:0)
使用text / Ionicons时,以下是重新定位图标所需的内容(下面的Xamarin代码):
button.SetTitlePositionAdjustment(
new UIOffset() { Vertical = 15.0f, Horizontal = 5.0f },
UIBarMetrics.Default );