在用户selectUITableView行后,当我推送视图时,该行将获得蓝色突出显示,然后出现新视图。 没关系。 但是当我“返回”时,行仍然以蓝色突出显示。 这是我的didSelectRowAtIndexPath代码。 – (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { SettingsViewController *controller = [[SettingsViewController alloc] initWithNibName:@"SettingsView" bundle:nil]; [[self navigationController] pushViewController:controller animated:YES]; [controller release], controller = nil; } 我究竟做错了什么?
我想从一个视图控制器导航到另一个。 我如何将下面的Objective-C代码转换成Swift? UIViewController *viewController = [[self storyboard] instantiateViewControllerWithIdentifier:@"Identifier"]; UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:viewController]; [self.navigationController pushViewController:navi animated:YES];
我在一个UIViewController中为我的一个选项卡执行此操作: self.title = @"Welcome"; 但是,它覆盖了我所拥有的tabBarItem。 我努力了: self.tabBarItem.title = @"Home"; 和 [self.tabBarItem initWithTitle:@"Home" image:[UIImage imageNamed:@"iconHome.png"] tag:0]; 但是,仍然self.title覆盖tabBarItem,不pipe我是否在标题设置后尝试后面的两段代码。 代码甚至运行没有错误,但self.tabBarItem.title或initWithTitle不会做任何事情?
更新2 我一直在使用4英寸的设备在iOS模拟器上运行并testing我的应用程序。 如果我使用3.5英寸设备运行,标签不会跳转。 在我的.xib中,在模拟指标下,我将它设置为Retina 4英寸全屏幕。 任何想法,为什么我只在4英寸的设备上看到这个问题? 更新1 在IB中,如果我在“模拟指标”中select“导航栏”,我的标签仍会跳跃。 唯一可以让我的标签在第一个屏幕上正确呈现的方法是不要将导航控制器设置为我的窗口的根视图控制器。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 我的窗口的rootViewController被设置为一个UINavigationController,其rootViewControllerembedded了一个UIPageViewController。 当我的应用程序加载时,初始视图会显示其内容,与导航栏的大小大致相同。 当我滚动pageViewController,内容跳转到它被放置在笔尖的位置,并由pageViewController加载的所有其他viewControllers罚款。 在我的AppDelegate中: self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[ContainerViewController new]]; 在ContainerViewController中: – (void)viewDidLoad { [super viewDidLoad]; self.pvc = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil]; self.pvc.dataSource = self; self.pvc.delegate = self; DetailViewController *detail = [DetailViewController new]; [self.pvc setViewControllers:@[detail] direction:UIPageViewControllerNavigationDirectionForward animated:false completion:nil]; [self addChildViewController:self.pvc]; [self.view addSubview:self.pvc.view]; [self.pvc didMoveToParentViewController:self]; […]
我有一个UIViewController ,我从我的第一个视图控制器导航到第二个视图控制器,我想改变导航控制器上显示的button的名称回去…. SecondViewController *secondController = [[SecondViewController alloc] initWithNibName:nil bundle:NULL]; [self.navigationController pushViewController:secondController animated:YES]; 现在在第二个viewcontroller我想改变在navigationController中的button的名称。
简洁版本: 在自定义转换和iOS7中的UINavigationController中使用自动布局顶部布局指南时遇到问题。 具体而言,顶部布局指南和文本视图之间的约束不被遵守。 有没有人遇到过这个问题? 长版本: 我有一个明确定义约束的场景(即顶部,底部,左侧和右侧),呈现如下所示的视图: 但是,当我在导航控制器上使用这个自定义转换时,顶部布局指南的顶部约束似乎closures,呈现如下,就好像顶部布局指南位于屏幕顶部而不是底部的导航控制器: 在使用自定义转换时,导航控制器的“顶层布局指南”会变得混乱。 剩下的约束正在正确应用。 如果我旋转设备并再次旋转,一切都会突然呈现正确,所以看起来不是约束没有被正确定义的问题。 同样,当我closures我的自定义转换时,视图呈现正确。 话虽如此, _autolayoutTrace报告说, UILayoutGuide对象遭受AMBIGUOUS LAYOUT ,当我运行: (lldb) po [[UIWindow keyWindow] _autolayoutTrace] 但是,即使我已经确保没有缺less约束(我已经完成了习惯select视图控制器并select“为视图控制器添加缺less的约束”或select全部的控制,并为他们做同样的)。 就我如何精确转换而言,我已经在animationControllerForOperation方法中指定了一个符合UIViewControllerAnimatedTransitioning的对象: – (id<UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController*)fromVC toViewController:(UIViewController*)toVC { if (operation == UINavigationControllerOperationPush) return [[PushAnimator alloc] init]; return nil; } 和 @implementation PushAnimator – (NSTimeInterval)transitionDuration:(id <UIViewControllerContextTransitioning>)transitionContext { return 0.5; } – (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext { UIViewController* […]
问题很简单,答案不幸。 如何更改UINavigationBar中的文本的字体?
我需要一个根视图控制器的实例。 但是这个代码返回null: UIViewController *rootViewController = (UIViewController*)[[[UIApplication sharedApplication] keyWindow] rootViewController]; 任何想法为什么? 另外当我尝试获取控制器的数组: NSArray *viewControllers = self.navigationController.viewControllers; 这只返回一个控制器,但是这个返回不是我的根视图控制器。 如果我试图调用这个: UIViewController *root = (UIViewController*)[self.navigationController.viewControllers objectAtIndex:0]; 这仍然返回null。 还有什么我可以尝试获得我的根视图控制器的实例? 谢谢。
当我在主控细节导航控制器中在父控制器和子控制器之间来回导航时,导航栏右侧的顶部会出现黑影。 它在升级到Xcode 5.1后开始了。 它感觉粗糙和分心。 我怎样才能摆脱它?
当按下UINavigationController的后退button时,我需要执行一个操作(清空数组),同时button仍然会导致堆栈中的前一个ViewController出现。 我怎么能用swift来完成这个?