iOS uygulamaları için nesne kitaplığında herhangi bir onay kutusu denetimi var mı? Gördüğüm en yakın şey, boole değeri alabilen anahtar kontrolüdür.iOS uygulaması için onay kutusu denetimi
cevap
Bir UIButton seçilmiş durumunu, set farklı görüntüler (ya da metinler) değişik bir için (kod aracılığıyla veya Interface Builder) kullanabilirsiniz:
:[button setImage:[UIImage imageNamed:@"selected.png"]
forState:UIControlStateSelected];
[button setImage:[UIImage imageNamed:@"unselected.png"]
forState:UIControlStateNormal];
Ve dokunuş kadar iç eylem içinde
- (IBAction)buttonTouched:(id)sender
{
button.selected = !button.selected;
// add other logic
}
Benim için çok yararlı. Teşekkürler ..... – Vaquita
Bu, bunun için uygulama sağlayan bir açık kaynak kütüphanesidir. https://github.com/t4ku/RadioButtonWithUIKit –
Çalışmıyor. UIImageView'i almalısın. –
Bu, ekranda iki onay kutusu için kullandığım koddur. (Ekrandaki iki resmin alt tarafına koydum. CheckBoxTapped yöntemini çağırmak için UIControlEventTouchDown'ı kullanıyorum.Bu yöntem, yanıtın doğru ya da yanlış olup olmadığına karar verdiğim ana görünüm denetleyicimle konuşuyor. kontrolör bu görüşü geri arar ve bir çek ya boş metin kutusu değiştirmek söyler:
veya x
// Put the Checkboxes on the screen
UIImage *checkBox = [UIImage imageNamed:@"Checkbox"];
self.checkBoxLeft = [UIButton buttonWithType:UIButtonTypeCustom];
[self.checkBoxLeft setImage:checkBox forState:UIControlStateNormal];
[self.checkBoxLeft setFrame:checkBoxFrameLeft];
[self.checkBoxLeft addTarget:self
action:@selector(checkBoxTapped:)
forControlEvents:UIControlEventTouchDown];
[self.checkBoxLeft setTitle:@"checkBoxLeft" forState:UIControlStateNormal];
self.checkBoxLeft.contentEdgeInsets = insets;
self.checkBoxLeft.showsTouchWhenHighlighted = NO; // Keeps it from turning gray
self.checkBoxRight = [UIButton buttonWithType:UIButtonTypeCustom];
[self.checkBoxRight setImage:checkBox forState:UIControlStateNormal];
[self.checkBoxRight setFrame:checkBoxFrameRight];
[self.checkBoxRight addTarget:self
action:@selector(checkBoxTapped:)
forControlEvents:UIControlEventTouchDown];
[self.checkBoxRight setTitle:@"checkBoxRight" forState:UIControlStateNormal];
self.checkBoxRight.contentEdgeInsets = insets;
self.checkBoxRight.showsTouchWhenHighlighted = NO; // Keeps it from turning gray
- (void)checkBoxTapped:(UIButton *)buttonPressed {
[[self delegate] checkBoxTapped:buttonPressed.currentTitle];
}
- (void)highlightCheckbox:(NSString *)checkboxToHighlight withHighlight:(NSString *)highlight {
if ([checkboxToHighlight isEqualToString:@"left"]){
[self.checkBoxLeft setImage:[UIImage imageNamed:highlight] forState:UIControlStateNormal];
} else {
[self.checkBoxRight setImage:[UIImage imageNamed:highlight] forState:UIControlStateNormal];
}
}
// İşaretsiz Resmi
- (void)viewDidLoad
{
[_checkboxButton setBackgroundImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
}
İşaretli Görüntü beyan düğmesinin
özelliğini tanımlar.
- (IBAction)buttonTapped:(id)sender
{
if (_checkboxButton.selected == YES)
{
[_checkboxButton setBackgroundImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateSelected];
_checkboxButton.selected = NO;
}
else
{
[_checkboxButton setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
_checkboxButton.selected = YES;
}
}
UISegmentedControl size yardımcı olabilecek – 0xDE4E15B
Kullanım UIButton durumlarını kontrol/işaretini işaretleri için. İşaretini kaldırın (normal durum) ve kontrol edin (seçili durum). – Hirak
Hayır onay kutusu veya radyo düğmesi için varsayılan UI Denetimi yok, burada kontrol ve işaretlenmemiş için 2 farklı görüntü kullanmanız ve bunları mantıksal olarak denetleyebilmeniz – kulss