UIButton:如何使用imageEdgeInsets和titleEdgeInsets将图像和文本居中?
如果仅在按钮中放置图像,然后将imageEdgeInsets设置为更靠近顶部,则图像将居中,并且一切正常 [button setImage:image forState:UIControlStateNormal]; [button setImageEdgeInsets:UIEdgeInsetsMake(-15.0, 0.0, 0.0, 0.0)]; 如果我仅在按钮中放置文本,然后将titleEdgeInsets设置为更靠近底部,则文本将居中,并且一切都按预期进行: [button setTitle:title forState:UIControlStateNormal]; [button setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 0.0, -30, 0.0)]; 但是,如果我将4行放在一起,则文本会干扰图像,并且都失去中心对齐。 我所有的图像都有30像素的宽度,如果我在setSettletleEdgeInsets的UIEdgeInsetMake的左侧参数中放了30个像素,则文本将再次居中。问题在于图像永远不会居中,因为它似乎取决于button.titleLabel的大小。我已经尝试过使用按钮大小,图像大小,titleLabel大小进行许多计算,并且永远都无法完美地居中。 有人已经遇到了同样的问题吗?