Xamarin.iOS'taki düğmeler
iOS'ta sınıfı UIButton
bir düğme denetimini temsil eder.
Bir düğmenin özellikleri program aracılığıyla veya Xcode'un Arabirim Oluşturucusu ile değiştirilebilir.
Program aracılığıyla düğme oluşturma
UIButton
yalnızca birkaç kod satırıyla oluşturulabilir.
Bir düğmenin örneğini oluşturma ve türünü belirtme:
UIButton myButton = new UIButton(UIButtonType.System);
Düğmenin türü bir
UIButtonType
özellik tarafından belirtilir:UIButtonType.System
- Genel amaçlı düğmeUIButtonType.DetailDisclosure
- Genellikle tablodaki belirli bir öğe hakkında ayrıntılı bilgilerin kullanılabilirliğini gösterirUIButtonType.InfoDark
- Yapılandırma bilgilerinin kullanılabilirliğini gösterir; koyu renkliUIButtonType.InfoLight
- Yapılandırma bilgilerinin kullanılabilirliğini gösterir; açık renkliUIButtonType..AddContact
- Kişinin eklenebileceğini gösterirUIButtonType.Custom
- Özelleştirilebilir düğmesi
Farklı düğme türleri hakkında daha fazla bilgi için aşağıdakilere göz atın:
- Bu belgenin Özel düğme türleri bölümü
- Düğme türü tarifi
- Apple'ın iOS İnsan Arabirimi Yönergeleri.
Düğmenin boyutunu ve konumunu tanımlayın:
myButton.Frame = new CGRect(25, 25, 300, 150);
Düğmenin metnini ayarlayın.
SetTitle
Düğme durumu için metin veUIControlState
değer gerektiren yöntemini kullanın:myButton.SetTitle("Hello, World!", UIControlState.Normal);
Düğmenin durum türleri aşağıda listelenmiştir:
UIControlState.Normal
UIControlState.Highlighted
UIControlState.Disabled
UIControlState.Selected
UIControlState.Focused
UIControlState.Application
UIControlState.Reserved
Düğmeyi şekillendirme ve metni ayarlama hakkında daha fazla bilgi için bkz:
- Bu belgenin Düğme stili oluşturma bölümü
- Ayarla düğmesi metin tarifi.
Düğmeye dokunmayı işleme
Bir düğmeye dokunmaya yanıt vermek için, düğmenin TouchUpInside
olayı için bir işleyici sağlayın:
myButton.TouchUpInside += (sender, e) => {
DoSomething();
};
Not
TouchUpInside
tek kullanılabilir düğme olayı değildir. UIButton
, birçok farklı olayı tanımlayan bir alt sınıfıdır.UIControl
Düğme stili oluşturma
UIButton
denetimleri, her biri bir UIControlState
değerle belirtilen bir dizi farklı durumda bulunabilir: Normal
, Disabled
, Focused
, , Highlighted
vb. Her duruma program aracılığıyla veya iOS Tasarım Aracı ile belirtilen benzersiz bir stil verilebilir.
Not
Tüm UIControlState
değerlerin tam listesi için UIKit.UIControlState enumeration
Belge.
Örneğin, için başlık rengini ve gölge rengini ayarlamak için UIControlState.Normal
:
myButton.SetTitleColor(UIColor.White, UIControlState.Normal);
myButton.SetTitleShadowColor(UIColor.Black, UIControlState.Normal);
Aşağıdaki kod, düğme başlığını ve UIControlState.Highlighted
için öznitelikli (stilize edilmiş) bir dizeye UIControlState.Normal
ayarlar:
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);
Özel düğme türleri
bir UIButtonType
içeren düğmelerin Custom
varsayılan stilleri yoktur. Ancak, farklı durumları için bir görüntü ayarlayarak düğmenin görünümünü yapılandırmak mümkündür:
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);
Kullanıcının düğmeye dokunup dokunmadığına bağlı olarak, aşağıdaki görüntülerden (UIControlState.Normal
UIControlState.Highlighted
ve UIControlState.Selected
durumları sırasıyla) biri olarak işlenir:
Özel düğmelerle çalışma hakkında daha fazla bilgi için Düğme tarifi için resim kullanma bölümüne bakın.