2015-06-06 3 views
0

Этот код:Почему центр [self superview] .center не относится к центру?

m_networkActivityView = [[[NSBundle mainBundle] loadNibNamed:@"NetworkActivityView" owner:self options:nil] objectAtIndex:0]; 
[self addSubview:m_networkActivityView]; 
m_networkActivityView.center = self.center; 
m_networkActivityView.hidden = true; 

получает меня это, что от центра, потому что она сосредоточена на столе, а не на экран:

enter image description here

в то время как этот код

m_networkActivityView = [[[NSBundle mainBundle] loadNibNamed:@"NetworkActivityView" owner:self options:nil] objectAtIndex:0]; 
[self addSubview:m_networkActivityView]; 
m_networkActivityView.center = [self superview].center; 
m_networkActivityView.hidden = true; 

получает меня:

enter image description here

который я действительно не понимаю.

+0

проверить класс супер-представления, зарегистрировавшись как: NSLog (@ "% @", [[self superview] class]); и посмотрим, почему ... еще что-то нужно над навигационным контроллером? – 0yeoj

+0

Это не должно быть над навигационным контроллером. superview имеет значение null, поэтому это объясняет. Благодаря! – Almo

ответ

0

Я проверил superview, как это было рекомендовано в комментарии, и это было null, поэтому он появился в углу. Поэтому я сделал это, чтобы исправить это:

m_networkActivityView.center = 
    CGPointMake([UIScreen mainScreen].bounds.size.width/2, 
    [UIScreen mainScreen].bounds.size.height/2); 
Смежные вопросы