Tag: uinavigationcontroller

更新整个项目的导航栏后退button图像

我需要更新整个项目的导航栏后退button图像某种我从下面的代码中实现了这一点,但问题是后退button显示两个相邻的行,这是我不想要的。 请指导我是否有任何代码删除这些行。 let image = UIImage(named:"backButton") let backImage = image?.imageWithRenderingMode(.AlwaysOriginal).resizableImageWithCapInsets(UIEdgeInsetsMake(0, 13, 0, 6)) UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImage, forState: .Normal, barMetrics: .Default) UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-400, 0), forBarMetrics: .Default)

如何在navigationController中重新加载rootViewController当按“返回”?

navigationController中有2个viewController:navigationController-> root-> A 在viewController A中,如果用户进行一些设置,然后按左边的条形button项(Back),我想让根视图更新它的布局(有些视图的大小会改变)。 现在,我通过在两个viewControllers之间添加一个navigationController(模态地)来实现它:navigationController-> root-> navigationController-> A。 有没有办法用一个navigationController更新根viewController?(截图1) 谢谢。 —–编辑—– 示例代码: override func viewWillAppear(_ animated: Bool) { creatButtons() } func createButtons(){ let button1 = UIButton() …….. let button2 = UIButton() …….. ……. } 如果我在viewWillAppear()下面创build了16个button,那么从A返回时所有的button是否都会被复制? 他们的大小都需要更新。

ScrollView阻止NavigationViewController

我有UINavigation控制器的UIView和其他几个Imageviews和一个文本里面的文件。 在导航栏上有一个UIBarbutton项目,推动另一个ViewController。 当导航视图控制器中的文本字段被轻敲时,它会popup键盘,导致文本字段被键盘阻止。我想要启用滚动视图,只要键盘阻止文本字段。 无论何时调用键盘,都会向此方法发送通知。 – (void)displayKeyboard { scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)]; scroll.contentSize=CGSizeMake(0, 500); scroll.userInteractionEnabled=YES; [self.view addSubview:scroll]; } 我试图以编程方式将视图添加到视图,但这会导致整个视图被阻止。我可以看到滚动但它不是什么,我不能访问该视图了。 难道我做错了什么 ? 有没有其他的方式,我可以启用滚动视图,每当键盘出现,所以我可以scoll整个屏幕?

隐藏导航条?

1) 下面三行代码有什么区别? 2)为什么只有第三行代码工作,如果我回到一个viewController和前面的viewController已经设置navigationBar隐藏通过相同的方法[self.navigationController setNavigationBarHidden:NO]我的假设是,所有三条线一样的东西? self.navigationController.navigationBar.hidden = NO; [self.navigationController.navigationBar setHidden:NO]; [self.navigationController setNavigationBarHidden:NO]; 跟进: 为什么当我需要运行这个代码时: [self.navigationController.navigationBar setBackgroundImage:incorrectAnswerNavigationBarBackgroundImage forBarMetrics:UIBarMetricsDefault]; 它只能工作,正在设置背景图像,否则导航栏只是白色的。 如果我有这两行: [self.navigationController setNavigationBarHidden:NO]; self.navigationController.navigationBar.hidden = NO; 如果我省略self.navigationController.navigationBar.hidden = NO; 导航栏的空间会popup,但只是白色的,没有背景图片。 如果我有两条线,它的工作原理和背景图像。

带animation的popToRootViewController然后切换选项卡

我有一个UITabBarController 4视图/选项卡。 每个视图都是一个UINavigationController。 我怎样才能popToRootViewController在这些UINavigationControllers其中之一,然后切换选项卡,并推动一个viewController到另一个使用animation的UINavigationController? 所以顺序是: 在开始,我们在Tab 1的视图,这是一个UINavigationController。 一个View已经超越了它的根ViewController。 -Tab 1 – UINavigationController1 – RootViewController1 – SomeViewController1 [We are here] -Tab 2 – UINavigationController2 – RootViewController2 SomeViewController1中点击一个button导致以下: UINavigationController1popup到它的根视图控制器(带animation) UITabBarController切换选项卡到Tab2 SomeViewController2被推到UINavigationController2(带有animation) 所以这个视图看起来像这样: -Tab 1 – UINavigationController1 – RootViewController1 -Tab 2 – UINavigationController2 – RootViewController2 – SomeViewController2 [We are here]

如何解决在过渡期间被导航栏遮罩的titleView?

在我的视图控制器中,我将titleView设置为包含UIImageView的UIView , UIImageView在其图层上使用setCornerRadius制作成圆形。 圆的上半部分位于导航栏上方,下半部分位于视图上,如下所示: 现在,当我推动这个视图控制器,当它animation时,圆的下半部分被切断,直到animation完成。 只显示导航栏中的部分,如下所示: 一旦推动animation结束,显示完整的圆圈。 有什么办法可以阻止导航栏在animation发生时屏蔽/切断titleView ,以便在animation期间显示整个圆圈?

问题,同时更改导航根视图控制器

我正在制作一个应用程序。 第一个用户必须login,然后他允许使用该应用程序。 成功login后,我希望用户直接切换到我的HomeViewController。 这是我的代码tho改变导航根视图,但它不工作 TermsConditionsController *firstViewController = [[TermsConditionsController alloc]init]; FirstPage *secondViewController = [[FirstPage alloc]init]; firstViewController.navigationController.viewControllers = [NSArray arrayWithObject: secondViewController]; FirstPage *nextScr = (FirstPage *) [self.storyboard instantiateViewControllerWithIdentifier:@"FirstPage"]; [self.navigationController pushViewController:nextScr animated:YES];

如何设置首次启动iOS应用程序

我只想在我的应用程序首次启动时显示条款和条件。 目前我正在写我的代码在didFinishLaunchingWithOptions 。 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Handle launching from a notification if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) { NSLog(@"Already Run"); } else { [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"]; [[NSUserDefaults standardUserDefaults] synchronize]; UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil]; FirstPage * termsView = [storyboard instantiateViewControllerWithIdentifier:@"FirstPage"]; UINavigationController *navController=[[UINavigationController alloc]initWithRootViewController:termsView]; self.window.rootViewController=navController; // This is the first launch […]

将一些数据传回给RootViewController iOS 7

假设我们在我们的UINavigationController有3个ViewController叫做ViewControllerA,ViewControllerB,ViewControllerC。 具体来说,ViewControllerA是RootViewController而ViewControllerB和ViewControllerC则是在它上面推送的。 所以,目前ViewControllerC是在顶部和用户可见。 我想通过调用[self.navigationController popToRootViewControllerAnimated:YES];返回到ViewControllerA [self.navigationController popToRootViewControllerAnimated:YES]; 方法并从这里传递一些数据到ViewControllerA。 我必须根据从ViewControllerC传递的数据更新一些用户界面。 如果我不得不从ViewControllerB返回数据,那么我可以实现自定义协议/委托。 但是,在上述情况下,什么是一个好的方法? 在此先感谢您的帮助。

在项目中实现UItabbarController + UInavigationBar

我有基于导航控制器的项目。 在我的项目中,我有隐藏导航控制器的Splash Screen&Login Screen。 现在我必须在应用程序中实现TabbarController,并且需要在login页面之后显示屏幕。 我想将它添加到AppDelegate.But我的问题是,我已经设置为导航控制器的Window的rootviewcontroller。 而现在我想使用Tabbar控制器也进入Appdelegate类。 我觉得很困难。 任何帮助将不胜感激。