SORU
25 EKİM 2009, Pazar


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
2 NİSAN 2010, Cuma


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]);
}}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • Subscribe!!

    Subscribe!!

    3 EKİM 2009