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

  • discokatze

    discokatze

    23 EYLÜL 2009
  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • ImBluecams

    ImBluecams

    25 Kasım 2012