Я новичок в разработке приложений для iOS и хотел знать, как использовать свойство UIEdgeInsets
в кнопке, поэтому, пожалуйста, направляйте меня.
Как использовать свойство UIEdgeInsets в Button в iphone
Ответ 1
Во-первых, ваш вопрос не очень ясен относительно того, чего вы пытаетесь достичь, поэтому... задайте общий вопрос, получите общий ответ.
UIButton имеет три свойства типа UIEdgeInsets - contentEdgeInsets
, titleEdgeInsets
и imageEdgeInsets
. Вы можете использовать эти свойства, чтобы назначать определенные вставки для всех содержимого кнопок, включая как заголовок, так и изображение, или одно или другое отдельно.
Вы создаете значения UIEdgeInsets с помощью функции UIEdgeInsetsMake()
. UIEdgeInsets инкапсулирует четыре разных значения CGFloat для значений вставки верхнего, левого, нижнего и правого (соответственно) по отдельности. Положительные значения вставки уменьшают область содержимого, а отрицательные значения вставки будут эффективно увеличивать ее.
Если у вас есть более конкретный вопрос о том, как использовать UIEdgeInsets с UIButton, я предлагаю вам переосмыслить, как его спросить и повторить попытку.:)
Изменить (чтобы задать вопрос в комментарии): Похоже, вы хотели бы сделать следующее, а затем:
UIEdgeInsets titleInsets = UIEdgeInsetsMake(0.0, 7.0, 0.0, 0.0);
button.titleEdgeInsets = titleInsets;
Ответ 2
Если вы хотите использовать расширение для кнопки и просто используйте этот
button.setInset(вверху: 0.0, слева: 7.0, внизу: 0.0, справа: 0.0)
extension UIButton {
/**
Creates an edge inset for a button
:param: top CGFLoat
:param: left CGFLoat
:param: bottom CGFLoat
:param: right CGFLoat
*/
func setInset(#top: CGFloat, left: CGFloat, bottom: CGFloat, right: CGFloat) {
self.titleEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right)
}
}
Ответ 3
Обратите внимание, что иногда вам не нужно устанавливать параметры contentEdgeInsets. Просто дайте кнопке большие ограничения по высоте и ширине. Само название будет автоматически центрироваться.