ナビゲーションコントローラのナビゲーションバーに追加されるuisegementcontrolとuibarbuttonがあります。しかし、私が次のビューに進むと、私はそれらを取り除きたい。私はいくつかのアプローチを試みましたが、何もそれらを取り除いているようです。 1つのアプローチは、viewWillDisappearを使用し、segementcontrolとbarボタンremovedFromSuperViewを使用していました。もう1つは、次のシーンにプッシュするメソッドからremoveFromSuperViewを呼び出すことでした。何も働いていないようです。私は実際にこれに本当に長い間固執してきました!ナビゲーションバーの項目が表示されなくなっても削除されない
また、セグメンテーションコントロールとバーボタンを持つビューコントローラ "X"は、presentViewControllerを通じて表示されます。 Xは、他のView Controllerをプッシュします。ここで
はsegement制御のためのコード
NSArray *headers = @[@"Tracks", @"Playlists"];
self.savedMusic = [[UISegmentedControl alloc] initWithItems:headers];
CGSize size = self.view.frame.size;
CGRect segFrame = CGRectMake(80, 5, size.width - 140, 35);
self.savedMusic.backgroundColor = [UIColor blackColor];
self.savedMusic.frame = segFrame;
self.savedMusic.tag =1;
[self.savedMusic setTitle:@"Tracks"
forSegmentAtIndex:0];
[self.savedMusic setTitle:@"Playlists"
forSegmentAtIndex:1];
[self.savedMusic addTarget:self
action:@selector(whatToDisplay)
forControlEvents:UIControlEventValueChanged];
self.savedMusic.selectedSegmentIndex = 0;
[self.navigationController.navigationBar addSubview:self.savedMusic];
ここではviewWillDisapear
[super viewWillDisappear:animated];
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
self.navigationItem.leftBarButtonItem = nil;
[self.savedMusic removeFromSuperview];
ためのコードであり、ここで新しいビュー
に切り替わりメソッドのコードです PlaylistTracksTableViewController *vc = [[PlaylistTracksTableViewController alloc] init];
[self.savedMusic removeFromSuperview];
[[self.navigationController.navigationBar viewWithTag:1] removeFromSuperview];
self.navigationItem.leftBarButtonItem = nil;
[self.navigationController pushViewController:vc animated:YES];
あなたは私にuisegementcontrolのためにこれを行う方法の例を教えてもらえますか? – madgrand
'self.navigationItem.titleView = mySegmentedControl' - しかし、それは正常に動作し、完全に合法ですが、セグメント化されたコントロールがナビゲーションバーにある必要がある理由も尋ねる必要があります。ビューコントローラのビューの一番上にいないのはなぜですか? – matt
ちょっとおかげさまで提案しました。私はちょうどtitleviewに変更を加えましたが、それはまだ同じ問題を抱えていますので、私はそれをあなたが示唆したようにビューの一番上に追加します。私は個人的にはnav barで涼しかったと思っていましたが、うまく動作しないようです – madgrand