#objective-c #cocoa-touch #ios #uiactivityindicatorview
#objective-c #cocoa-touch #iOS #uiactivityindicatorview
Вопрос:
Я пытаюсь центрировать счетчик в середине страницы, используя приведенный ниже код.
self.aSpinner.center = self.view.center;
Однако, когда я запускаю программу, счетчик, кажется, не находится в центре
Есть ли какой-нибудь способ это исправить?
Редактировать:
Я нашел проблему. Дело не в том, что счетчик не находится в центре, просто вместо этого подвидо имеет границы, отличные от его супервизора.
Я делаю что-то подобное в своем коде:
self.navcon = [[UINavigationController alloc]init];
self.photoViewTable = [[PhotoTableViewController alloc]init];
self.loadingPage = [[LoadingPageViewController alloc]init];
[self.photoViewTable.view addSubview:loadingPage.view];
[navcon pushViewController:photoViewTable animated:NO];
[self.window addSubview:navcon.view];
Как я могу установить размер loadingPage
представления равным родительскому представлению?
Комментарии:
1. Вы уверены, что ваше представление расположено по центру? Можете ли вы предоставить еще какой-нибудь контекст кода?
Ответ №1:
[spinner setCenter:CGPointMake(kScreenWidth/2.0, kScreenHeight/2.0)];
Ответ №2:
Настройки свойств центра может быть недостаточно. В случае изменения размера вашего фрейма я также установлю маску автоматического изменения размера для вида spinner:
spinner.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin);
spinner.center = CGPointMake(CGRectGetWidth(self.view.bounds)/2, CGRectGetHeight(self.view.bounds)/2);
Ответ №3:
Попробуйте сделать это в viewDidAppear, там правильные self.границы просмотра, я не проверяю self.center.
self.aSpinner.center = CGPointMake(self.view.bounds.width/2.0, self.view.bounds.width/2.0)
Работает правильно!
Проверьте, имеет ли self вид или self является view