如何在导航栏中添加页面指示器?

像twitter一样:

在这里输入图像说明

我在UITabBarController里面有一个PageViewController,它在UINavigationController里面。

任何人都可以告诉我如何显示导航栏内的页面指示器?

编辑:我只是想通了navigationController.viewControllers只包含堆栈。 我会在一分钟后发布一个编辑

编辑2:好吧,看来你必须知道视图控制器的数量之前。

也许不是最好的解决scheme,但它适用于我。 只是试过:)

@interface ViewController () <UINavigationControllerDelegate> @property (nonatomic, strong) UIPageControl *pageControl; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UINavigationController *navController = self.navigationController; navController.delegate = self; navController.navigationBar.barTintColor = [UIColor colorWithRed:.2 green:.4 blue:.9 alpha:1]; CGSize navBarSize = navController.navigationBar.bounds.size; CGPoint origin = CGPointMake( navBarSize.width/2, navBarSize.height/2 ); self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(origin.x, origin.y, 0, 0)]; //Or whatever number of viewcontrollers you have [self.pageControl setNumberOfPages:2]; [navController.navigationBar addSubview:self.pageControl]; navController.delegate = self; } - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { int index = [navigationController.viewControllers indexOfObject:viewController]; self.pageControl.currentPage = index; } @end 

这里有一些截图。

第一视图第二个看法