Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В iOS UIButton класс представляет элемент управления кнопкой.
Свойства кнопки можно изменять программным способом или с помощью построителя интерфейсов Xcode.
Создание кнопки программным способом
Можно UIButton создать только с несколькими строками кода.
Создайте экземпляр кнопки и укажите его тип:
UIButton myButton = new UIButton(UIButtonType.System);Тип кнопки указывается свойством
UIButtonType:UIButtonType.System— кнопка общего назначенияUIButtonType.DetailDisclosure— Указывает доступность подробных сведений, как правило, о конкретном элементе в таблицеUIButtonType.InfoDark— указывает доступность сведений о конфигурации; темный цветUIButtonType.InfoLight— указывает доступность сведений о конфигурации; светлый цветUIButtonType..AddContact— Указывает, что можно добавить контактUIButtonType.Custom— настраиваемая кнопка
Дополнительные сведения о различных типах кнопок см. в следующих сведениях:
- Раздел "Настраиваемые типы кнопок" этого документа
- Рецепт типов кнопок
- Рекомендации по пользовательскому интерфейсу Apple для iOS.
Определите размер и позицию кнопки:
myButton.Frame = new CGRect(25, 25, 300, 150);Задайте текст кнопки.
SetTitleИспользуйте метод, для которого требуется текст иUIControlStateзначение для состояния кнопки:myButton.SetTitle("Hello, World!", UIControlState.Normal);Ниже перечислены типы состояний кнопки:
UIControlState.NormalUIControlState.HighlightedUIControlState.DisabledUIControlState.SelectedUIControlState.FocusedUIControlState.ApplicationUIControlState.Reserved
Дополнительные сведения о стилизации кнопки и настройке его текста см. в следующем разделе:
Обработка касания кнопки
Чтобы ответить на касание кнопки, укажите обработчик события кнопки TouchUpInside :
myButton.TouchUpInside += (sender, e) => {
DoSomething();
};
Примечание.
TouchUpInside не является единственным доступным событием кнопки. UIButton— дочерний класс, определяющий UIControlмножество различных событий.
Стилизация кнопки
UIButtonэлементы управления могут существовать в нескольких различных состояниях, каждый из которых указывается значением UIControlState — Normal, , Disabled, FocusedHighlightedи т. д. Каждое состояние можно задать уникальный стиль, указанный программным способом или с помощью конструктора iOS.
Примечание.
Полный список всех UIControlState значений см. в этойUIKit.UIControlState enumeration Документации.
Например, чтобы задать цвет заголовка и цвет тени для UIControlState.Normal:
myButton.SetTitleColor(UIColor.White, UIControlState.Normal);
myButton.SetTitleShadowColor(UIColor.Black, UIControlState.Normal);
Следующий код задает заголовок кнопки для строки атрибута (стилизованной) для UIControlState.Normal и UIControlState.Highlighted:
var normalAttributedTitle = new NSAttributedString(buttonTitle, foregroundColor: UIColor.Blue, strikethroughStyle: NSUnderlineStyle.Single);
myButton.SetAttributedTitle(normalAttributedTitle, UIControlState.Normal);
var highlightedAttributedTitle = new NSAttributedString(buttonTitle, foregroundColor: UIColor.Green, strikethroughStyle: NSUnderlineStyle.Thick);
myButton.SetAttributedTitle(highlightedAttributedTitle, UIControlState.Highlighted);
Пользовательские типы кнопок
Кнопки без UIButtonType Custom стилей по умолчанию. Однако можно настроить внешний вид кнопки, задав изображение для различных состояний:
myButton.SetImage (UIImage.FromBundle ("Buttons/MagicWand.png"), UIControlState.Normal);
myButton.SetImage (UIImage.FromBundle ("Buttons/MagicWand_Highlight.png"), UIControlState.Highlighted);
myButton.SetImage (UIImage.FromBundle ("Buttons/MagicWand_On.png"), UIControlState.Selected);
В зависимости от того, касается ли пользователь кнопки или нет, он будет отображаться в виде одного из следующих изображений (UIControlState.NormalUIControlState.Highlightedи UIControlState.Selected состояний соответственно):



Дополнительные сведения о работе с настраиваемыми кнопками см . в разделе "Использование изображения для рецепта кнопки ".