はなかった:ナビゲーションバー内にページインジケータを追加するにはどうすればよいですか? Twitterのような
私は順番にUINavigationControllerの内部にあるUITabBarController内部PageViewControllerを持っています。
ナビゲーションバー内にページインジケータを表示する方法を教えてもらえますか?
はなかった:ナビゲーションバー内にページインジケータを追加するにはどうすればよいですか? Twitterのような
私は順番にUINavigationControllerの内部にあるUITabBarController内部PageViewControllerを持っています。
ナビゲーションバー内にページインジケータを表示する方法を教えてもらえますか?
編集:私は、navigationController.viewControllerにはスタックのみが含まれていることを知りました。 私は1分で編集を投稿します
編集2:まあ、あなたは手前のビューコントローラの数を知っている必要があるようです。
おそらく最高の解決策ではないかもしれませんが、それは私のために働きます。ちょうど試しました:)
@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
ここにいくつかのスクリーンショットがあります。
UIPageViewControllerでこの作業を行うのは難しいことではありません – chrs
彼らはほとんどの場合、独自のビューを作成します。 – nhahtdh
UIViewであるself.navigationController.navigationItem.titleViewを使用できます。ページインジケータのカスタム実装を作成し、それをtitleViewに設定します。しかし、カスタムタイトルページインジケータビューと他のコンポーネントとのやりとりがどのように行われるかを気にする必要がありますか? – ldindu