2010-04-18 13 views
7

Çıkışıyla bir NIB'ye bağlanan basit bir özel görünümüm var. Bu özel görünüm için, NIB'nin ne olduğu önemli olmaksızın, ilklendirildiğinde görünümde gerçekleştirmek istediğim eylemler vardır.NIV'den başlatıldığında hangi UIView yöntemi çağrılır?

sorun olan, (id) init ya da (id) initWithFrame de: (CGRect) çerçeve yöntemleri özel görünüm çağrıda elde edilir. Bir NIB örneği zaman hangi yöntem

bir UIView üzerinde çağrılan? Görünüm denetleyicisini ve viewDidLoad yöntemini kullanacağım, ancak bu görünüm çok sayıda farklı NIB'de görünecektir.

cevap

14

Sen başlatma bu tür awakeFromNib kullanabilirsiniz. Nesne aslında IB tarafından oluşturulduğunda ve daha sonra NSCoding kullanılarak arşivlendiğinde, normal başlatma yöntemleri çağrılır, böylece bu yöntemler uygulamanız içinde hiçbir zaman çağrılmaz. Ayrıca çağrılacak olan initWithCoder:'u geçersiz kılabilirsiniz, ancak diğer çıkışlar bu noktada kablolanamayacağından bunu önermiyorum.

+0

Mükemmel! Evet, bir ucu dosyası yüklendiğinde, uç dosyasındaki her nesnedir: - Ben awakeFromNib UIViewController sınırlıydı düşünce nedense bir kez daha, bu onu alır bazen bütün gözlerin ikinci çifti :) –

+1

@retailevolved olduğunu kanıtlıyor arşivden (vekil nesneler hariç - bu uç aslında arşivden olmadığından) tüm nesneler arşivden olmuştur ve tüm çıkışları kablolu edildikten sonra bir awakeFromNib mesajı gönderilecektir. –

İlgili konular