2012-12-06 18 views
10

Sadece bir UILabel componet'i bir görünüme ekledim ve bunu UILabel yuvarlatılmış bir köşe yapmaya çalışıyorum. Aynı konuyla ilgili bazı soruları ve cevapları okudum, ancak hepsi kaynak kodunu değiştirmem gerektiğini söylüyor. Yeni Xcode 4.5 ve iOS6'da gerçekten gerekli mi? Ayrıca ana kartın oluşturduğu kodu görebiliyor muyum bilmiyorum.Yuvarlak köşeli UILabel (Xcode 4.5 ve iOS 6)

Herhangi bir yardım için teşekkür ederiz. ,

#import <QuartzCore/QuartzCore.h> 

o zaman

yourLabel.layer.cornerRadius = 5; 

5 sadece bir örnektir sizin UILabel başvurmalıdır:

Çok teşekkürler, Marcos

+0

Lütfen size yardımcı olurlarsa benim veya islami yanıtı kabul et.Benim itibarımı ve Ismael'ı da kazanmak istiyorum Eminim –

cevap

11

aşağıdakileri yapın köşeleri yuvarlatılmış UILabel yapmak tabiri

+0

Çok teşekkürler. Sadece son bir soru: Bu kodu eklemek için herhangi bir yer var mı? Xcode Interface Builder tarafından oluşturulan kodlara erişimim olup olmadığından emin değilim. Denetleyicide bu kodun eklenmesi gereken özel bir yöntem var mı? – vilelam

+0

Eh, IB'de oluşturduğunuz bir bağlı UILabel * çıkış değişkeni olmalıdır. Ve bunu yapmak istediğiniz yere bu değişken için köşe yarıçapını ayarlarsınız. viewDidLoad veya viewWillAppear iyi çalışıyor –

1

#import "QuartzCore/QuartzCore.h" gerekir. ve bir yere kodunuzu

label.layer.cornerRadius = 2.0; // or whatever radius you want 
+0

Çok teşekkürler. Sadece son bir soru: Bu kodu eklemek için herhangi bir yer var mı? Xcode Interface Builder tarafından oluşturulan kodlara erişimim olup olmadığından emin değilim. Denetleyicide bu kodun eklenmesi gereken özel bir yöntem var mı? – vilelam

+0

Bu, hücrenizin nerede olduğuna bağlıdır. Kontrol cihazınızda bir referansınız olmalı ve arayüz oluşturucu tarafından oluşturulduysa, bunu 'viewDidLoad' yöntemine eklemelisiniz – Ismael

+0

Çok hoş! Bunu yapabildim. Kodu viewDidLoad yöntemine ekledim ve sorunsuz çalışıyor. Xcode 4.5 içinde – vilelam

-1

Evet, sadece burada diğer çocuklar tarafından bahsedilen ekleyerek kod üzerinden yapılabilir yapmak. Ne yazık ki Interface Builder bunu şimdi yapamaz.

+0

@PradeepReddyKypa? –

12

Hepsini Arabirim Oluşturucusu'nda yapabilirsiniz.
XCodeolarak, .xib dosyayı (veya film şeridi) Interface Builder açmak için seçin. senin UILabel tıklayın ve Kimlik müfettiş açın (nerede olduğunu bilmiyorsanız, Xcode en Yardım menüsünden gidin ve "Kimlik müfettiş" yazın). Kullanıcı Tanımlı Runtime altında artı düğmesi bölmesini Nitelikler tıklatın ve Anahtar Yol için layer.cornerRadius yazma Değer için Tip için Number ve 5 (veya başka bir numara) seçti.
Şimdi projenizi çalıştırıyorsanız, yuvarlak köşeli bir UILabel almalısınız.

+2

yalnızca "klip alt görünümleri" işaretliyse çalışır (Xcode 6'deyim) – mnl

1

Interface.cornerRadius'u 'Kimlik Denetçisi' altındaki 'Kullanıcı Tanımlı Çalışma Zamanı Öznitelikleri' içindeki anahtarlardan biri olarak ekleyerek arayüz oluşturucusunda yapabilirsiniz.

1

projenize quartzcore çerçevesini ekle

import "QuartzCore/QuartzCore.h" 

kullanımı aşağıdaki kodu çerçeveler - Ben (Swift ile) yeni geliştirme ortamları için bunu yapmak için biraz daha iyi bir şekilde paylaşmak düşündüm

label.layer.cornerRadius = 2.0; // radius depend on how much rounded corner you want. 
label.clipsToBounds = TRUE; 
0

. Aşağıdaki kodla, Arayüz Oluşturucu'da köşe yarıçapını ayarlamanıza izin veren özel bir alan görüntülenir. "Görünüm" olarak adlandırılan Nitelikler Denetçisi içinde yeni bir alt bölüm belirir, burada "Köşe Yarıçapı" adı verilen bir öğe vardır.

#if !os(watchOS) 
    // watchOS UI designer allows setting of a corner radius. For 
    // iOS and tvOS, an Interface Builder extension is needed. 
    extension UIView { 
     @IBInspectable var cornerRadius: CGFloat { 
      get { 
       return layer.cornerRadius 
      } 
      set { 
       layer.cornerRadius = newValue 
       layer.masksToBounds = newValue > 0 
      } 
     } 
    } 
#endif