Tag: uinavigationcontroller

是否有可能两次popupUINavigationController?

是否有可能两次popup导航控制器? 我有这个导航结构: 查看一个—->查看两个—–>查看三 我想要完成的是,通过View Three上的一行,直接返回到View One。 我已经通过协议委托,从三个到两个,但设置委托在视图中一个不工作,并设置两个连续的委托协议都popup导航控制器,给我错误:嵌套导航控制器活动(或类似的东西)。 任何帮助,将不胜感激。 提前致谢!

如何更改UINavigationBar标题的字体和文本颜色

我想把标题的字体改成Avenir,我想把它变成白色。 这是我在viewDidLoad方法中的代码: UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: "Avenir", size: 20)!] UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()] 此代码只改变标题的颜色,而不是字体。 另外,我尝试在应用程序委托文件中实现这一点,但是这不起作用。 这是我的UINavigationBar看起来像: 我希望标题也有Avenir的字体。 我如何做到这一点?

从iOS中的“呈现视图控制器”推送视图

简而言之:我如何从提出的ViewController PushViewController? 简单来说 : 我有MainViewController ,其中我有一个button点击button,我提出了一个名为LoginViewController的视图。 在这个页面( LoginViewController ),我再次有button ,点击,我尝试推我的视图控制器(称为HomeViewController )它不推动。 这是我的代码片段, MainViewController.m – (IBAction)LoginClicked:(id)sender { LoginViewController *vc = [[LoginViewController alloc] init]; [self presentViewController:vc animated:YES completion:nil]; } LoginViewController.m – (IBAction)buttonActionMethodOnLoginView:(id)sender{ NSLog(@"viewControllers %@",APPDELEGATE.nav.viewControllers); //LoginViewController is not in this array HomeViewController *obj = [[HomeViewController alloc] init]; [self.navigationController pushViewController:obj animated:YES]; } 但它不适合我。 另外,在pushed之前我打印a stack of view controllers ,但是它没有LoginViewController […]

Swift – TabBarController – > ViewController – > NavigationController

我有以下情况: 我有一个TabBarController与一些选项卡(ViewControllers)。 当我在这些ViewControllers之一,我点击一个button,我想segue到一个NavigationController,仍然看到tabbar … 这是我做的: 我创build了一个新的ViewController(DetailViewController) 我将这个新的ViewController(DetailViewController)embedded到NavigationController中 我从“tabbarcontroller中embedded的viewcontroller”创build一个segue(Show)到“new navigationcontroller” 我编码: func buttonTapped { performSegue(withIdentifier: "shownavicontroller", sender: nil } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let destinationNavigationController = segue.destination as! UINavigationController let targetController = destinationNavigationController.topViewController as! DetailViewController } 出了什么问题: NavigationController从下到上滑动…它应该从左向右滑动 NavigationController中的BackButton丢失 NavigationController中的TabBar缺less… 有人可以帮我解决这个问题吗? 感谢和问候!

如何改变中心点击在iphone左侧的控制器的tableview行?(MFSideMenu)

我使用MFSideMenu为我的iPhone应用程序来实现一个侧栏。 我已经成功实施了侧边栏。 在我的appdelegete下面的代码 – (ViewController *)demoController { return [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; } – (UINavigationController *)navigationController { return [[UINavigationController alloc] initWithRootViewController:[self demoController]]; } – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; LeftSlideViewController *leftMenuViewController = [[LeftSlideViewController alloc] init]; MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController containerWithCenterViewController:[self navigationController] leftMenuViewController:leftMenuViewController rightMenuViewController:nil]; container.navigationController.navigationItem.rightBarButtonItem=nil; self.window.rootViewController = container; [self.window […]

尝试从导航堆栈中popup视图时断言失败

我试图popup一个特定的视图控制器在导航堆栈,但我做错了,因为我得到这个错误popup时,当我尝试执行代码 Assertion failure in -[UINavigationController popToViewController:transition:], /SourceCache/UIKit_Sim/UIKit-1912.3/UINavigationController.m:2229 这是导致问题的代码 FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController.xib" bundle:nil]; [self.navigationController popToViewController:firstViewController animated:YES];

在SWIFT中的不同视图之间切换

我在堆栈溢出社区中阅读了许多关于在不同的ViewController之间切换的问题/答案,但我无法find正确的答案来解决我的具体问题。 我使用NavigationViewController来“连接”我所有不同的viewControllers(ViewController / TableViewController / CollectionViewController) 我有一些不依赖于ViewController类的类。 例如来计算我的“计算”类中的任何东西。 我正在寻找一个简单的解决scheme,以切换我所有的ViewControllers。 我想在我的“计算”类决定例如在我的导航视图控制器退后一步。 在我使用这个的那一刻: 在两个不同的ViewController之间切换的示例: let sb = UIStoryboard(name: "Main", bundle: nil) let vc = sb.instantiateViewControllerWithIdentifier("StartPage") as! StartPageView self.presentViewController(vc, animated: true, completion: nil) 问题:这个例子只适用于ViewController类,导航栏消失。 示例在我的NavigationViewController中退一步: self.navigationController?.popViewControllerAnimated(true) 问题:这个例子只适用于ViewController类。 编辑1: 我find了一个很好的解决scheme,用这部分代码调用我所有的viewControllers: let switchViewController = self.navigationController?.viewControllers[1] as! ScanTableView self.navigationController?.popToViewController(switchViewController, animated: true) 如何在非ViewController类中调用此代码?

iOS – 和UIToolbars

我一直试图在UIToolbar中使用[UIColor clearColor] ,试图使一个自定义的控制界面更适合一个“机械”应用程序(Thinkbutton,你会看到在70年代的电影)。 发生什么事情是,当我设置清除颜色的工具栏是它变成哑黑色。 背后的图像是红色,棕褐色和黑色,所以我确信它不能按预期工作。 我看到的一个区别是,我使用导航控制器上的工具栏,而不是一个独立的UIToolbar 。 代码行是 self.navigationController.toolbar.translucent = YES; self.navigationController.toolbar.backgroundColor = [UIColor clearColor]; 和我的上部导航栏(这是在另一个视图中设置)是UIBarStyleBlackTranslucent ,这可以把它扔掉吗? 任何帮助追踪这将是很大的。

如何在屏幕顶部触摸显示导航栏?

我想要做的是首先隐藏导航条,然后如果用户触摸屏幕的顶部(应该在哪里),导航栏将显示大约1秒或2秒,然后消失。 我尝试添加一个与背景颜色相同的button,然后在触摸时显示导航栏,但这似乎不起作用。 另外我怎么做一个演示,所以我可以显示用户,这个工程? 谢谢!

ios4中的导航栏自定义在ios5中不起作用

我知道这个问题看起来和其他人一样,但是他们都没有提到ios4和ios5之间的不兼容问题。 在我的应用程序中,我想自定义导航条的模式,但我的部署目标是ios4,所以我使用上面的代码执行appDelegate.m以下代码来执行此操作: @implementation UINavigationBar (CustomImage) – (void)drawRect:(CGRect)rect { UIColor *color = [UIColor blackColor]; UIImage *image = [UIImage imageNamed: @"nav_bar.png"]; [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; self.tintColor = color; } @end 当我运行应用程序使用4.3模拟器,它工作正常,但是当我模拟ios5,它不工作,导航栏回到默认颜色..任何帮助? 谢谢。