Цвета фона должны быть изначально установлены (если это не цвет по умолчанию), тогда вам нужно установить их обратно на тот же цвет на TouchUpInside
и TouchUpOutside
.На TouchDown
установите цвет, который вы хотите видеть при нажатии кнопки.
Переключить цвет фона:
if (Control != null)
{
void BackgroundNormalState(object sender)
{
(sender as UIButton).BackgroundColor = UIColor.Green;
}
BackgroundNormalState(Control);
Control.TouchUpInside += (object sender, EventArgs e) =>
{
BackgroundNormalState(sender);
};
Control.TouchUpOutside += (object sender, EventArgs e) =>
{
BackgroundNormalState(sender);
};
Control.TouchDown += (object sender, EventArgs e) =>
{
(sender as UIButton).BackgroundColor = UIColor.Red;
};
}
Обновление:
Могу ли я изменить свой текстовый цвет через эту группу методов?
Есть SetTitleColor
, где вы можете назначить разные цвета для различных значений UIControlState
, Normal
и Highlighted
те, с которых нужно начинать:
Control.SetTitleColor(UIColor.Red, UIControlState.Normal);
Control.SetTitleColor(UIColor.Green, UIControlState.Highlighted);