UİSegmentedControl kayıt seçili kesiminde musluklar
Kullanıcı listesini nasıl sipariş seçebilirsiniz parçalı bir denetim var. Gayet iyi çalışıyor.
Ancak, zaten seçilmiş bir kesimi dokunulduğunda, sırasını ters alır istiyorum. Tüm kodu var, ama o bölümler üzerinde musluklar kaydetmek için nasıl bilmiyorum. Kullanabilirsiniz sadece kontrol olayı UİControlEventValueChanged, ama bu işe yaramıyor seçilen bölüm aslında değişen olmadığından () gibi görünüyor.
Bunun için bir çözüm var mı? Ve eğer öyleyse, ne kadar?
Şimdiden teşekkürler!
CEVAP
UİSegmentedControl alt ve setSelectedSegmentİndex geçersiz kılabilirsiniz:
- (void) setSelectedSegmentIndex:(NSInteger)toValue {
if (self.selectedSegmentIndex == toValue) {
[super setSelectedSegmentIndex:UISegmentedControlNoSegment];
} else {
[super setSelectedSegmentIndex:toValue];
}
}
Eğer İB kullanarak, alt sınıf için UİSegmentedControl sınıfı kurmak emin olun.
Şimdi normalde eğer kullanıcı kesimi seçili değilse, bir selectedSegmentİndex UİSegmentedControlNoSegment eşit görürsünüz dışında, aynı UİControlEventValueChanged dinleyebilirsiniz:
-(IBAction) valueChanged: (id) sender {
UISegmentedControl *segmentedControl = (UISegmentedControl*) sender;
switch ([segmentedControl selectedSegmentIndex]) {
case 0:
// do something
break;
case 1:
// do something
break;
case UISegmentedControlNoSegment:
// do something
break;
default:
NSLog(@"No option for: %d", [segmentedControl selectedSegmentIndex]);
}}
Spinner seçili öğeleri metin olsun?...
Ne kadar kapsayıcı bir görünüm için bi...
Nasıl activerecord ile son N kayıt alm...
Neden SES yüksek bayt içeren bir kayıt...
Raylar ilişkili kayıt no 3 olan kayıtl...