Membangun jawaban oleh @split ...
Jawabannya luar biasa, tetapi mengabaikan fakta bahwa tombol tersebut mungkin memiliki gambar kustom dan sisipan tepi judul yang disetel sebelumnya (misalnya di storyboard).
Misalnya, Anda mungkin ingin gambar memiliki bantalan dari atas dan bawah wadah, tetapi tetap memindahkan gambar ke sisi kanan tombol.
Saya memperluas konsep dengan metode ini: -
- (void) moveImageToRightSide {
[self sizeToFit];
CGFloat titleWidth = self.titleLabel.frame.size.width;
CGFloat imageWidth = self.imageView.frame.size.width;
CGFloat gapWidth = self.frame.size.width - titleWidth - imageWidth;
self.titleEdgeInsets = UIEdgeInsetsMake(self.titleEdgeInsets.top,
-imageWidth + self.titleEdgeInsets.left,
self.titleEdgeInsets.bottom,
imageWidth - self.titleEdgeInsets.right);
self.imageEdgeInsets = UIEdgeInsetsMake(self.imageEdgeInsets.top,
titleWidth + self.imageEdgeInsets.left + gapWidth,
self.imageEdgeInsets.bottom,
-titleWidth + self.imageEdgeInsets.right - gapWidth);
}