2009-06-22 15 views
13

UISegmentedControl birimimin 8 numaralı segmenti olduğunu söylüyor. Kullanıcının bir kerede 2, 3 veya daha fazlasını açabilmesini istiyorum. Onları değiştiriyorum. Aslında bir baytta bit gibi. Mümkün mü? Normal Mac OS X'te olduğuna inanıyorum ama iPhone SDK'da bunu yapmanın bir yolunu bulamıyorum. Görüş köşelerinde YuvarlakUISegmentedControl'ün birden çok segmentini nasıl seçilebilirim?

  1. o "çubuk" tarzı UISegmentedControl benzeyecek şekilde:

    Bir görünüme düğmeleri koyarak bunu simüle etmek varsa, aşağıdakileri yapmak için herhangi bir yolu var mı?

  2. Yerleşik arka planları "çubuk" stili düğmelerde var mı?
  3. Düğmelere, "çubuk" stilinin tamamında olduğu gibi bir gölge verin mi? (metin değil)

cevap

8

Bu, UIKit kullanılarak mümkün değildir. UISegmentedControl öğenizdeki seçeneklerin her birini temsil eden özel bir denetim veya UISwitch denetimlerinin oluşturulmasını öneririm.

2

Bence en basit yol UIButton ile kendi segmentedcontrolünüzü oluşturmaktır.

Marco

+3

Nakliye uygulamalarında yaptığım bir yolu, yuvarlatılmış kenarları olan bir UILabel kullanmak ve içine dikdört UIButtons koymaktır. Bu şekilde kombine kontrol için yuvarlak kenarları alabilirsiniz. Keyfini çıkarın. –

1

Şimdi XCode'da bunu yapmanın bir yolu var. Nitelikler Denetçisinde, Segment, Başlık, Resim, Davranış içeren bir bölüm vardır. Davranış seçenekleri "Etkin" ve "Seçili" dir. Birden çok segment için "Seçilen" seçeneğini belirleyebilirsiniz.

+9

Bunun işe yaradığını düşünmüyorum. Bir kod için "Seçili" yi seçtiğimde Xcode'ta, diğer bölümlerin tümü seçilmemiş olur. Ayrıca, UISegmentedControl için yöntemler setEnabled: forSegmentAtIndex içerir, ancak setSelected: forSegmentAtIndex (ki bu kullanışlı olur) içerir. OP ile aynı şeyi yapmaya çalışıyorum ve özel bir kontrol oluşturmam gerekiyor. Xcode'un en üstündeki yardımcı düğmelerden beri ironik olan şey, tam olarak ne için çekim yaptığım (Mac uygulaması olsa da). –

6

Bu eşzamanlı seçilecek birden fazla segmenti verir buldum iyi özel kontrolüdür.

https://github.com/stewartmacdonald/MultiSelectSegmentedControl

ve ReadMe için bazı kod örneklerini eklendi ve seçilen tüm segmentlerin başlıkların bir NSArray almak için izin veren bir yöntem ekledi: Ben burada çatallı ettik.

+0

'MultiSelectSegmentedControl' bir alt sınıfı çok güzel. UISegmentedControl özelliğini genişletir, böylece tüm yöntemleri kullanılabilir. –