2010-07-08 17 views
7

Bu muhtemelen çok basit bir sorudur, ancak API'larda veya herhangi bir arama motorunda hiçbir şey bulamıyorum.UISegmented Contol, Momentary Handler olarak ayarlandı

Kullanıcı, aramayı istedikleri bir çift araç seçeceği için anlık olarak ayarladığım Bölmeli bir denetimim var. İçinde bulunduğum sorun, hangi segmentin seçildiğini nasıl anlayacağımı anlayamıyorum. Normal modda onun basit bir SelectedSegment = endeksi ancak anlık olarak benim seçilmiş olan segmentin her zaman -1 olduğu gibi benim anlayışım her zaman "seçildi"

ValueChanged için bir işleyicim var ama ne yaptığımı anlayamıyorum Hangi segmentin seçildiğini belirlemek için neyi kontrol ettiğimi veya ne göndermem gerektiğini kontrol ediyorum. Herhangi bir yardım büyük takdir edilecektir. Monotouch kullanıyorum ama Obj-C de iyi olurdu.

Teşekkürler! işleyicinizde olarak

cevap

10

, sen seçildi hangi segmentin belirlemek için selectedSegmentIndex kontrol etmelisiniz:

- (void)valueChanged:(UISegmentedControl *) control { 
    switch([control selectedSegmentIndex]) { 
     case 0: 
     //... 
     break; 
     case 1: 
     //... 
     break; 
    } 
} 
+2

Bu doğrudur. UISegmentedControl sadece seçilen * son * öğeyi izler, * şu anda seçili olan öğeleri değil. Seçilmiş listeyi kendi nesnenizde tutmanız gerekir. –

+0

Awesome Yardımlarınız için teşekkürler! – Adam

+3

Vay, bu işe yarıyor. [Apple belgeleri] (http://developer.apple.com/library/ios/documentation/uikit/reference/UISegmentedControl_Class/Reference/UISegmentedControl.html#//apple_ref/occ/instp/UISegmentedControl/selectedSegmentIndex) bunu gösteriyor gibi görünüyor. olmazdı. "UISegmentedControl, denetim geçici moddayken bu özelliği yok sayar." Ama selectedSegmentIndex iyi bir değer üretiyor, bu yüzden benim için çalışıyor. –

İlgili konular