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

  • booba1234

    booba1234

    22 Temmuz 2006
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • TheFlightsuit

    TheFlightsui

    22 HAZİRAN 2009