如何调整UIToolbar实例包含的UIBarButtonItem的框架或垂直对齐?

时间:2010-05-07 03:29:36

标签: iphone uibarbuttonitem vertical-alignment uitoolbar

UIBarButtonItems的水平定位没问题,我可以简单地用固定/灵活的空间物品填充空间。但是,我似乎无法垂直调整工具栏项。 UIToolbar没有对齐属性,UIBarButtonItem无法设置其框架。

我需要这样做是因为我们使用了使用initWithImage创建的自定义图标和使用initWithBarButtonSystemItem创建的标准图标。自定义图标没有正确居中(它们向上偏移,相对于系统图标,它们正确居中),因此工具栏看起来很笨拙。

3 个答案:

答案 0 :(得分:34)

是的,imageInsets对我来说很好用!

 float topInset = 4.0f;
 myUIBarButton.imageInsets = UIEdgeInsetsMake(topInset, 0.0f, -topInset, 0.0f); 

将图像向下移动4个像素。

避免这个:

 float topInset = 4.0f;
 myUIBarButton.imageInsets = UIEdgeInsetsMake(topInset, 0.0f, 0.0f, 0.0f); 

将图像向下移动4个像素(但是重新调整图像高度,使其看起来像是压缩的)。

答案 1 :(得分:3)

UIBarItem的imageInsets属性?

答案 2 :(得分:1)

似乎没有任何简单,干净的方式,所以我选择了一个丑陋但功能强大的黑客:嵌套。我将包含该按钮的另一个UIToolbar插入到UIView中,我使用initWithCustomView将其设置为原始工具栏上的UIBarButtonItem。第二个UIToolbar可以在UIView中自由移动,实际图标保留UIBarButtonItem的所有属性。

呃。