如何更改UIBarButtonItem的上边距

时间:2015-09-01 08:42:53

标签: ios objective-c xamarin

我的视图中有一个工具栏。它包含一个带有图标的Bar按钮项,实际上它不是一个图标(它是一个自定义字体)。我正在使用它将图标与同一客户的其他Web应用程序统一起来。

无论如何,我怎么能稍微增加上边距...也许给定的例子显示了一个过滤器图标,我可以很容易地用真实图像图标(不是字体)替换它。但是其他一些图标,这是不可能的。

Filter Icon in toolbar

修改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);
}

4 个答案:

答案 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 );