Выравнивание текста и изображения в UIButton с помощью imageEdgeInsets и titleEdgeInsets

Я хотел бы разместить значок слева от двух строк текста так, чтобы между изображением и началом текста оставалось примерно 2-3 пикселя. сам по себе выравнивается по центру по горизонтали (устанавливается с помощью Interface Builder)

Кнопка будет выглядеть примерно так:

|                  |
|[Image] Add To    |
|        Favorites |

Я безуспешно пытаюсь настроить это с помощью contentEdgeInset, imageEdgeInsets и titleEdgeInsets. Я понимаю, что отрицательное значение расширяет край, а положительное значение сжимает его, чтобы переместить ближе к центру.

Я пробовал:

[button setTitleEdgeInsets:UIEdgeInsetsMake(0, -image.size.width, 0, 0)];
[button setImageEdgeInsets:UIEdgeInsetsMake(0, button.titleLabel.bounds.size.width, 0, 0)];

, но это не отображает его правильно. Я настраивал значения, но, скажем, переход от -5 к -10 в левом значении вставки, похоже, не смещает его ожидаемым образом. -10 сместит текст полностью влево, поэтому я ожидал, что -5 сместит его на полпути с левой стороны, но это не так.

Какова логика вставок? Я не знаком с размещением изображений и соответствующей терминологией.

Я использовал этот вопрос SO в качестве справочного материала, но что-то в моих ценностях не так. Мы настраивали значения, но переход, скажем, от -5 до -10 в левом значении вставки, похоже, не смещает его ожидаемым образом. -10 сместит текст полностью влево, поэтому я ожидал, что -5 сместит его на полпути с левой стороны, но это не так.

Какова логика вставок? Я не знаком с размещением изображений и соответствующей терминологией.

Я использовал этот вопрос SO в качестве справки, но что-то в моих ценностях не так. Мы настраивали значения, но переход, скажем, от -5 до -10 в левом значении вставки, похоже, не смещает его ожидаемым образом. -10 сместит текст полностью влево, поэтому я ожидал, что -5 сместит его на полпути с левой стороны, но это не так.

Какова логика вставок? Я не знаком с размещением изображений и соответствующей терминологией.

Я использовал этот вопрос SO в качестве справки, но что-то в моих ценностях не так. UIButton: как центрировать изображение и текст с помощью imageEdgeInsets и titleEdgeInsets?

239
задан Community 23 May 2017 в 01:47
поделиться