Iphone 如何调整UIToolbar实例包含的UIBarButtonim的框架或垂直对齐方式?
UIBarButtonItems的水平定位没有问题,我可以简单地用固定/灵活的空间项目填充空间。但是,我似乎无法垂直调整工具栏项。UIToolbar没有对齐属性,UIBarButtonim无法设置其框架Iphone 如何调整UIToolbar实例包含的UIBarButtonim的框架或垂直对齐方式?,iphone,uibarbuttonitem,vertical-alignment,uitoolbar,Iphone,Uibarbuttonitem,Vertical Alignment,Uitoolbar,UIBarButtonItems的水平定位没有问题,我可以简单地用固定/灵活的空间项目填充空间。但是,我似乎无法垂直调整工具栏项。UIToolbar没有对齐属性,UIBarButtonim无法设置其框架 我需要这样做,因为我们混合使用了使用initWithImage创建的自定义图标和使用initWithBarButtonSystemItem创建的标准图标。自定义图标没有正确居中(相对于正确居中的系统图标,它们向上偏移),因此工具栏看起来很尴尬。似乎不是一种简单、干净的方法,所以我采用了一种丑陋但
我需要这样做,因为我们混合使用了使用initWithImage创建的自定义图标和使用initWithBarButtonSystemItem创建的标准图标。自定义图标没有正确居中(相对于正确居中的系统图标,它们向上偏移),因此工具栏看起来很尴尬。似乎不是一种简单、干净的方法,所以我采用了一种丑陋但实用的方法:嵌套。我将另一个包含按钮的UIToolbar粘贴到UIView中,我使用initWithCustomView将其设置为原始工具栏上的UIBarButtonItem。第二个UIToolbar可以在UIView中自由移动,实际图标保留UIBarButtonim的所有属性
呃。UIBarItem的imageInsets属性?是的,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)使用自定义的工具,而不是工具栏;或者2)修复图像,因为它们更容易正确调整。1不是我的选项。我不能做视觉设计的决定。我无法决定UI的外观、按钮的效果以及它们的位置。如果可能的话,我宁愿避免使用2,因为它意味着将工作交给视觉设计师。反复地来回传递图像,调整图像,然后通过反复试验来检查结果,这是很乏味的。也不能保证这会解决问题。。。即使我们调整图标的大小,UIKit也可能会将其向上移动。还有其他的建议吗?关于如何做文本的想法吗?imageinsets解决方案不适用于文本。很高兴看到我不是唯一一个有此问题的人。虽然“topInset=2.0f”对我来说很有用。