, bu resim gibi görünen UILabel bir daire çizin nasıl UILabel'de bir daire nasıl çizilir? Böyle bir şeyi yapmak istiyorum
, sadece yerine bir resim kullanılarak kaçınmak istiyoruz.
, bu resim gibi görünen UILabel bir daire çizin nasıl UILabel'de bir daire nasıl çizilir? Böyle bir şeyi yapmak istiyorum
, sadece yerine bir resim kullanılarak kaçınmak istiyoruz.
UILabel'a bir şekil katmanı eklemenizi öneririm. Böyle bir şey:
// Create the shape layer
CAShapeLayer *circleLayer = [CAShapeLayer layer];
circleLayer.path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 50, 50)].CGPath;
circleLayer.fillColor = [UIColor clearColor].CGColor;
circleLayer.strokeColor = [UIColor whiteColor].CGColor;
circleLayer.lineWidth = 1;
// Add it do your label's layer hierarchy
[label.layer addSublayer:circleLayer];
Bu sana büyük görünümü üzerinde kontrol ve A. için yazı da vereceğiz
GÜNCELLEME: Eğer olacak o
Sadece aklıma geldi etrafında bir daire koymak için dikey olarak "A" ofset elde etmek için mücadele. Bir UILabel'de dikey merkezleme elde etmek için korsanlıklar var, ancak contentVerticalAlignment özelliğini desteklediğinden, bunun yerine bir UITextField kullanmaktan çok daha iyi olur. Kullanıcının metin yazmasını engellemek için userInteractionEnabled değerini NO olarak ayarlamanız yeterlidir! Bunun dışında, CAShapeLayer eklenmesi prensibi aynıdır.
Sen @maddy önerilen bu arada bunu başarmak ya, kare rect'in ile UILabel
oluşturmak, metin hizalama koyabilirsiniz orta ve kullanım etiketin katman en cornerRadius
borderWidth
ile. Etiketin yarım genişliğine (veya yüksekliğine) cornerRadius
'u ayarlamanız yeterlidir. İyi şanslar!
Dairesel için Unicode karakterini kullanın A - Ⓐ – rmaddy
Tam olarak ne yapmak istiyorsunuz? Bir litle detaylandırırsın, bir sembolü olması için ya da diğer tüm char'ları şimdi ve sonra vb. – amar