Ao alterar o tamanho do ícone
UIEdgeInsetsMake(top, left, bottom, right)
, lembre-se das dimensões do botão e da capacidade do UIEdgeInsetsMake de trabalhar com valores negativos como se fossem positivos.
Exemplo: Dois botões com altura 100 e aspecto 1: 1.
left.imageEdgeInsets = UIEdgeInsetsMake(40, 0, 40, 0)
right.imageEdgeInsets = UIEdgeInsetsMake(40, 0, 40, 0)
left.imageEdgeInsets = UIEdgeInsetsMake(40, 0, 40, 0)
right.imageEdgeInsets = UIEdgeInsetsMake(45, 0, 45, 0)
left.imageEdgeInsets = UIEdgeInsetsMake(40, 0, 40, 0)
right.imageEdgeInsets = UIEdgeInsetsMake(60, 0, 60, 0)
Os exemplos 1 e 3 são idênticos, pois ABS (100 - (40 + 40)) = ABS (100 - (60 + 60))