Я создаю приложение, используя swift в последней версии Xcode 6, и хотел бы знать, как я могу изменить свою кнопку так, чтобы она могла иметь закругленную границу, которую я мог бы настроить самостоятельно, если это необходимо. Как только это будет сделано, как я могу изменить цвет самой рамки, не добавляя к ней фон? Другими словами, я хочу слегка округлую кнопку без фона, только 1pt границы определенного цвета.
232
titleEdgeInsets
.Чтобы выполнить эту работу в раскадровке (Инспектор Интерфейсного Разработчика)
С помощью этого
IBDesignable
мы можем добавить дополнительные параметры в Инспектор Интерфейсного РазработчикаUIButton
и настроить их на раскадровке. Сначала добавьте следующий код в ваш проект.Затем просто установите атрибуты для кнопок на раскадровке.
источник
Я создал простой подкласс UIButton, который использует
tintColor
для текста и границ цвета, а когда выделено, меняет свой фон наtintColor
.Это использует расширение UIImage, которое создает изображение из цвета, я нашел этот код здесь: https://stackoverflow.com/a/33675160
Лучше всего он работает, когда в конструкторе интерфейса задано значение «Пользовательский», поскольку тип системы по умолчанию слегка изменяет цвета при выделении кнопки.
источник
Этот класс основан на всех комментариях и предложениях в ответах, а также может быть разработан непосредственно из xcode. Скопируйте в свой проект и вставьте любой UIButton и измените на использование пользовательского класса, теперь просто выберите границу или цвет фона из xcode для нормального и / или выделенного состояния.
источник
Foundation
при импортеUIKit
действительно достаточно?На основании ответа @returntrue мне удалось реализовать его в Интерфейсном Разработчике.
Чтобы получить кнопку с закругленными углами с помощью Интерфейсного Разработчика, добавьте Ключ
Path = "layer.cornerRadius"
сType = "Number"
иValue = "10"
(или другим необходимым значением) в "User Defined RunTime Attribute
"Identity Inspector
кнопки.источник
Вы можете использовать этот подкласс UIButton для настройки UIButton в соответствии с вашими потребностями.
посетите этот репозиторий github для справки
источник
Я думаю, что самый простой и чистый способ - использовать протокол, чтобы избежать наследования и повторения кода. Вы можете изменить эти свойства прямо из раскадровки
Обновить
В этой ссылке вы можете найти пример с утилитой Traceable protocol
источник
источник
в качестве подсказки, убедитесь, что ваша кнопка не является подклассом какого-либо пользовательского класса в раскадровке, в таком случае ваше место кода должно быть в пользовательском классе, так как сам по себе код работает только из пользовательского класса, если ваша кнопка является подклассом по умолчанию Класс UIButton и его выход, надеюсь, что это может помочь любому удивляться, почему угловые радиоприемники не применяются к моей кнопке из кода.
источник
...
Я думаю для радиуса как раз достаточно этого параметра:
источник
Попробуйте эту кнопку границу с закругленными углами
источник
источник
Вы можете создать подкласс
UIButton
и добавить@IBInspectable
к нему переменные, чтобы настроить параметры пользовательских кнопок с помощью StoryBoard «Attribute Inspector». Ниже я записываю этот код.источник
Я думаю, что это простая форма
источник