UIControl
için var olan UIControlState
değerlerinden biri değil, özel durumlar ayarlama yolu var mı?Kendi kontrolüm için UIControlState özel değerlerini kullanabilir miyim?
UIControlSate
enum'da, özel kontrol durumları için kullanılabilecek 16 bit vardır:
UIControlStateApplication = 0x00FF0000, // additional flags available for application use
Sorun, UIControl
'in state
özelliğinin readonly olmasıdır.
Özel durumlar için UIButton
cihazıma farklı arka plan resimleri koymak istiyorum.
UIControlState enum uygulaması kontrolü devletler maskesi 0x00FF0000 kullandığını belirtir. Bu 1 << 16 ila 1 << 23 anlamına gelir. 1 << 3 kullanıyorsunuz bu geçerli mi? Apple'ın ekleyebileceği gelecekteki kontrol durumlarıyla çatışabilir mi? –
Ayrıca not edilmelidir; Başlık, arka plan resmi, resim, titleShadow veya attributedTitle gibi UIButton'daki özel kaynakları denetlemek için özel durumlar kullanmayı planlıyorsanız. Özel durumunuzu değiştirdikten sonra setNeedsLayout öğesini çağırmanız gerekir. Aksi halde, düğmeye tekrar basıldıktan sonra sadece görünüm güncellenir. –
OS'nin gelecekteki sürümlerinde çakışacak olan Adamlar gibi kesinlikle 1 << 3'ü kullanmayın. 0x00FF0000 bit maskesi aralığında bir sayı kullanın. – christophercotton