Подтвердить что ты не робот

Как использовать свойство UIEdgeInsets в Button в iphone

Я новичок в разработке приложений для iOS и хотел знать, как использовать свойство UIEdgeInsets в кнопке, поэтому, пожалуйста, направляйте меня.

4b9b3361

Ответ 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. Просто дайте кнопке большие ограничения по высоте и ширине. Само название будет автоматически центрироваться.