iOS:'In ':' vs drawRect katman'In delagate 'drawLayer:içerik:' UİView Kullanarak;
UIView
bir alt sınıfı olan bir sınıf var. CALayer
temsilci bir yöntem olan drawLayer:inContext:
uygulayarak drawRect
yöntemi uygulayarak veya görünümü içinde bir şeyler çizmek mümkün duyuyorum.
İki sorum var:
- Nasıl kullanmak için hangi karar? Her biri için bir senaryo var mı?
Eğer ben uygulamak
drawLayer:inContext:
, (drawRect
değil, en azından bildiğim kadarıyla koyarak bir kesme söyler), bile bilmiyorum atamak benim görünüm olarakCALayer
temsilci kullanarak:[[self layer] setDelegate:self];
nasıl temsilci yöntem ise benim örnek katmanın temsilci olarak tanımlanır eğer çağrılmaz? ve ne olursa mekanizması
drawLayer:inContext:
çağrılırsa çağrıldığınıdrawRect
engeller?
CEVAP
Nasıl kullanmak için hangi karar? Her biri için bir senaryo var mı?
Her zaman drawRect:
, kullanmak ve asla CALayer
UIView
çizim olarak bir temsilci.
nasıl temsilci yöntem ise benim örnek katmanın temsilci olarak tanımlanır eğer çağrılmaz? ve ne olursa mekanizması
drawLayer:inContext:
çağrılırsa olarak adlandırılan olmaktan drawRect engeller?
UIView
her örneği desteğini CALayer
çizim temsilci. [[self layer] setDelegate:self];
hiçbir şey yapmak gibiydi. Gereksiz. drawRect:
yöntemi etkili bir manzara katmanı için çizim temsilci yöntemi. DAHİLİ olarak, UIView
uygular kendi şeyler yapıyor ve sonra da drawRect:
çağrıları 19**. Hata ayıklayıcıda görebilirsiniz:
Bu drawRect:
drawLayer:inContext:
uygulandığında çağrıldı neden olur. Asla UIView
alt sınıf bir özel CALayer
çizim temsilci yöntemlerden birini uygulamak gerekir yüzden. Ayrıca asla herhangi bir görüş, başka bir katman için çizim temsilci olun. O şeyler her türlü neden olur.
Eğer CGContextRef
erişim gerekiyor çünkü drawLayer:inContext:
uygulama UIGraphicsGetCurrentContext()
arama drawRect:
senin içinden alabilirsiniz.
Ne kadar bencil içerik Twitter bootstr...
Mailto kullanarak: e-posta konu/içerik...
Nasıl bir UİView uç bir dosya Interfac...
Chrome Uzantısı bina - İçerik sayfası ...
İstek başarısız oldu: kabul edilemez-i...