2014-10-31 4 views
0

Я хочу создать навигационную панель, в которой у меня есть pageControl, а также заголовок в панели навигации, как и приложение для iTrack iOS, и я получил их оба, установивИндикатор и заголовок страницы в панели навигации iOS Objective C

self.navigationItem.Title = @"Home"; 

и достиг PageControl пути создания экземпляра UIPageControl и установки его центра к центру панели навигации и достижений его обнаружения навигации с помощью UINavigationController's делегата. Но проблема в том, что pageControl и заголовок накладываются друг на друга. Как я могу настроить так, чтобы заголовок отображался в верхней части страницы. Вот код позиционирования pageControl.

self.navigationController.delegate = self; 
CGSize navBarSize = self.navigationController.navigationBar.bounds.size; 
CGPoint origin = CGPointMake(navBarSize.width/2, navBarSize.height/2); 
self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(origin.x, origin.y, 
                    0, 0)]; 
[self.pageControl setNumberOfPages:3]; 
[self.navigationController.navigationBar addSubview:self.pageControl]; 

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{ 
int index = [self.navigationController.viewControllers indexOfObject:viewController]; 
self.pageControl.currentPage = index; } 
+1

вы можете попробовать создать UIView и добавьте в него UILabel с заголовком и UIPageControl, затем добавьте этот UIView в navigationBar – Ilario

ответ

0

Я понял это, как (название и PageControl) были перекрывая друг друга, так что я просто изменил Y-оси PageControl и

self.navigationController.delegate = self; 
CGSize navBarSize = self.navigationController.navigationBar.bounds.size; 
CGPoint origin = CGPointMake(navBarSize.width/2, navBarSize.height/2); 
self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(origin.x, origin.y+45, 
                   0, 0)]; //Here added 45 to Y and it did the trick 
[self.pageControl setNumberOfPages:3]; 
[self.navigationController.navigationBar addSubview:self.pageControl]; 

- (void)navigationController:(UINavigationController *)navigationController  willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{ 
int index = [self.navigationController.viewControllers indexOfObject:viewController]; 
self.pageControl.currentPage = index; } 

 Смежные вопросы

  • Нет связанных вопросов^_^