2013-01-03 13 views
5

ja ponownie pisanie aplikacji pod iOS6 z autoLayout ale mają problemy z dostępem do rozmiaru podklasy UIViewwielkość obiektu UIView zwracane jako zera pod autoLayout

@property (weak, nonatomic) IBOutlet MyView *myView1; 

w

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    NSLog(@"myView1: %@",self.myView1); 
} 

Rozmiar UIView jest w pełni zdefiniowany w StoryBoard, ale po uruchomieniu kodu wychodzi jako zero. Czy to jest todo z automatycznym układem, czy też nie jest jeszcze zdefiniowany? Czy robię coś zasadniczo nie tak?

Odpowiedz

10

Po prostu znaleziono jedną możliwą odpowiedź here. Uruchamianie metody

[self.view setNeedsLayout]; 
[self.view layoutIfNeeded]; 

wymusza obliczenia wymiarów UIViews powodujących oczekiwanych wartości pojawiają się w dzienniku, a także być znane do tej samej podklasy UIView.

+1

Możemy uzyskać rzeczywisty rozmiar zaraz po '[self.myView1 layoutIfNeeded]'. – Jaybo

Powiązane problemy