2010-03-28 9 views
8

Self.view'e erişebilir ve gösterebilir ve logdaki çerçeveyi görebilir, fakat self.view.frame dosyasına erişmeye çalıştığımda boş alırım. self.view.framenull ama self.view bir çerçeve gösterir nedenObjective-C Self.view.frame'e erişebilirim ama self.view.frame'i kullanamıyorum.

2010-03-28 11:08:43.373 vivmed_CD_Tab[20356:207] Show self.view:<UITableView: 0x4001600; frame = (0 0; 320 583); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x3b21270>> 
2010-03-28 11:08:43.373 vivmed_CD_Tab[20356:207] Show self.view.frame:(null) 

kimse açıklayabilir - Aşağıda

NSLog(@"Show self.view:%@",self.view); 
NSLog(@"Show self.view.frame:%@",self.view.frame); 

ait ölçüm değeridir? Amacım çerçeve boyutunu değiştirmek.

Alkış, Grant Yayınladığınız kodunda

cevap

19

Bir Sorun işe yaramaz bir nesne, Çerçeveyi (a CGRect) baskı olmamız. Deneyin:

NSLog(@"Show self.view.frame: %u", self.view.frame); // as a pointer 

NSLog(@"Show self.view.frame: %@", NSStringFromCGRect(self.view.frame)); // as a string 
+4

Doğru! CGRect'in ilk iki alanı sıfır olacaktır, bu yüzden Obj-C çalışma zamanı onu bir null sınıfı işaretçiye sahip bir nesne olarak yorumlar. Çerçeve farklı bir kökene sahipse, çöküyor olursunuz. – codewarrior

İlgili konular