4
titleEdgeInsets用于对齐按钮上的标题和图片。我在左侧做了图像,在右侧做了标题。但是当我点击按钮时,标题正在向左移动。谢谢UIButton titleEdgeInsets
UIImage *image = [UIImage imageNamed:imageName];
[self setImage:image forState:UIControlStateNormal];
CGSize imageSize = self.imageView.frame.size;
CGSize titleSize = self.titleLabel.frame.size;
self.imageEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
self.titleEdgeInsets = UIEdgeInsetsMake(0, ((self.frame.size.width-titleSize.width)/2)-imageSize.width, 0, 0);
self.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
难道是因为你只为'UIControlStateNormal'设置了图像 – chris13
我发现边缘插入行为非常违反直觉,所以我创建了一个小型的演示应用程序,你可以使用https://github.com/tomas789/UIButtonEdgeInsets – tomas789