2014-10-31 3 views
0

iOS 앱에 포함 된 twitter와 마찬가지로 내비게이션 막대에 pageControl과 제목이있는 탐색 모음을 만들고 싶습니다. 탐색 표시 줄의 페이지 표시기 및 제목 iOS Objective C

self.navigationItem.Title = @"Home"; 

UIPageControl의 인스턴스를 생성하고 탐색 줄의 중앙에 중심을 설정하고 UINavigationController's 위임을 사용하여 탐색을 검출함으로써 달성 PageControl하였습니다. 그러나 문제는 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) 난 그냥 pageControl의 Y 축 변경 및

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; } 
관련 문제