How to center UIActivityIndicator?

Viewed 4177

SOLVED: Check below for the solution to my problem.

enter image description here

Hey SO,

I'm having trouble centering the UIActivityIndicator in the center of the view. As you can see here, it's a little farther down vertically than it should be. What I have is a UIScrollView that later adds a UIImage subview. Before the UIImage loads though, I have this UIActivityIndicator to show that the image is loading.

- (void)viewDidLoad
{

    [super viewDidLoad];
    self.scrollView.backgroundColor = [UIColor blackColor];
    UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc]       initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    spinner.center = self.view.center;

    [spinner startAnimating];
    [self.view addSubview:spinner];

Any ideas on how I could get the center CGPoint and set the UIActivityIndicator there? I'm not sure why self.view.center doesn't work.

Thanks in advance.

EDIT: I had to account for the height of the navigation bar and the tab bar. The code I had to add was :

float navigationBarHeight = [[self.navigationController navigationBar] frame].size.height;
float tabBarHeight = [[[super tabBarController] tabBar] frame].size.height;
spinner.center = CGPointMake(self.view.frame.size.width / 2.0, (self.view.frame.size.height  - navigationBarHeight - tabBarHeight) / 2.0);

enter image description here

5 Answers
Related