Tag: uinavigationcontroller

UINavigationController如何设置标题

我有一个控制器/视图的通用项目列表,可以扩展显示自定义列表。清单和导航工作正常..但我不能改变UINavigationController的标题。 在通用控制器中: – (void)viewDidLoad { [super viewDidLoad]; [self.view addSubview: navigationController.view]; } – (void)setNavigationTitle: (NSString *)title { NSLog(@"set title: %@", title); // this works self.navigationController.title = title; // Nothing works here } 那么,扩展课是.. – (void)viewDidLoad { [super viewDidLoad]; [self setNavigationTitle: @"Custom list"]; } navigationBar仍然有“Item”为标题:(

向右推动animation导致损坏的导航栏

我UINavigationControllerinheritance从UIRTLNavigationController.m执行从右到左(不正常行为)推我已经添加在这个问题的底部,并得到这些警告: nested push animation can result in corrupted navigation bar Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted. 我已经研究了这些错误,发现一个类阻止你接收它们: https : //github.com/Plasma/BufferedNavigationController 我已经将BufferedNavigationController .h和.m添加到我的项目中,将BufferedNavigationController.h中的行更改为:@interface BufferedNavigationController:UIRTLNavigationController,并将BufferedNavigationController设置为IB中的UINavigationController自定义子类。 视图仍然从右到左,方法被调用内部BufferedNavigationController,但我仍然得到有关嵌套和..Navigation Bar子视图树可能会损坏的警告.. 任何帮助,将不胜感激。 UIRTLNavigationController.m: #import "UIRTLNavigationController.h" @implementation UIRTLNavigationController – (id)initWithRootViewController:(UIViewController *)rootViewController { self = [super initWithRootViewController:rootViewController]; if (!self) return nil; return self; […]

如何创build基于nib文件的UINavigationItem.TitleView?

我有一个UINavigationController bassed序列的屏幕。 在其中一个屏幕上,我想用一个自定义的TitleViewreplace标准的标题。 自定义视图将使用一个nib文件创build,并具有一个图像和多个标签。 我是否创build了一个UIViewController w /关联的nib文件,加载nib,并将.view属性分配给TitleView? 基本上,我如何使用一个笔尖,我可以布局必要的元素,然后将结果视图分配给TitleView属性?

如何从另一个视图控制器访问一个视图控制器中的variables?

在我的UINavtigationController应用程序中,我有一个用户在UITableViewController中select一个值,一旦完成,它们将被发送回以前的UITableViewController,其中必须显示该值。 我期待的问题是,一旦视图“popup”,我假设它的viewUnload被调用,摆脱了数组使其在另一个视图控制器无法访问。 有什么想法吗?

更改iOS 7中的酒吧button的颜色

我在我的viewDidLoad包含我的视图中有以下代码: // Now add the next button UIBarButtonItem *nextButton = [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStylePlain target:self action:@selector(self)]; self.navigationItem.rightBarButtonItem.tintColor = [UIColor blueColor]; self.navigationItem.rightBarButtonItem = nextButton; UINavigationController的父级在viewDidLoad中有这个: [super viewDidLoad]; // Do any additional setup after loading the view. self.navigationBar.tintColor = [UIColor whiteColor]; self.navigationBar.barTintColor = [UIColor blackColor]; 我怎样才能自定义右边的button来改变背景颜色和文字颜色?

ios导航堆栈操作

我有问题试图从iOS应用程序操纵导航堆栈。 或者至less是由于这种操纵的结果。 我的情况: 我有3个ViewControllers。 控制器a显示多个级别,控制器b是游戏视图控制器c是某种Score 显然我会select控制器a中的一个级别,这会触发控制器b的继续,一旦级别完成生病继续控制器c。 每一个阶段都是一个推动。 现在一旦我在控制器ci不想要能够回到b使用后退button。 我想回到控制器a。 为了这个工作,我从堆栈中删除了控制器,所以不会移动到控制器b。 这工作正常。 我现在面临的问题是,控制器a上显示的是后退,因为不应该有任何回退。 如果我点击后退,应用程序不会崩溃,button只是消失离开标题。 我试着添加: NSArray* controllers = [self.navigationController viewControllers]; if ([controllers count]<=1) { [self.navigationItem setHidesBackButton:YES animated:YES]; } else { [self.navigationItem setHidesBackButton:NO animated:YES]; } [super viewDidAppear:animated]; 正如在一些相对的stackoverflow文章中所build议的那样,没有成功。 除此之外,这似乎不工作,似乎ios创build这些button从故事板没有我实际上添加它们,但不删除它们,当他们没有必要了。 这给我留下了一些select。 要么我认为ios比实际更聪明 我缺less一些重要的更新导航栏 我去了这一切都错了 besdies即时通讯使用此代码剪切从控制器b继续c。 [self performSegueWithIdentifier:@"feedbackSegue" sender:self]; [self removeFromParentViewController]; 任何有关缺less操作或一般不良做法的提示,我们将不胜感激。 更新 经过进一步的调查,它不只是后退button,其整个导航栏是closures的。 它的行为就像删除的控制器仍然在那里。 BackButton在右端,另一个uiActionButton。 导航栏是否将其状态存储到不同的堆栈上,而不是视图控制器? 如果是这样的话,我可以从这个堆栈中移除这个状态,以保持一致。

获取popViewController的通知

我需要通过调用我已经有的一个方法来保存我的数据,当一个viewController使用由UINavigationController创build的后退buttonpopup。 有没有办法获得委托callback或通知我没有看到文档中的任何东西?

收到NSNotification后导航到特定的UIViewController

我正在开发一个iOS应用程序,使用UINavigationController处理UIViewController对象的层次结构: MenuViewController | |-ListOfAnimalsViewController | |-AnimalDetailsViewController | |-ListOfPlantsViewController | |-PlantDetailsViewController 应用程序接收本地NSNotification对象与某个动物或植物的信息。 触摸通知时的常见行为是打开应用程序,并在层次结构中加载第一个视图控制器。 有没有一种方法,以编程方式导航到深层次的UIViewController实例呢? 编辑:我不是要求把控制器推入导航堆栈,但也推动以前的控制器,即我想保持上面的导航架构。

为所有navigationcontroller和navigationitem设置titleview

[[[UINavigationBar appearance] setTitleView:button] 我尝试使用上面的代码行将所有导航项目的标题视图设置为button,但它不工作。如何通过在appdelegate中编写小代码来为我的项目中的所有导航栏设置标题视图?

iOS:如何在popup其子UIViewController后“刷新”UIViewController?

在我的应用程序我使用UINavigationController。 我有一个“父母”UIViewController和一个“孩子”UIViewController在堆栈上运行。 用户可以对孩子进行一些设定,这些设定稍后会影响父母。 我使用NSUserDefaults来保存和检索数据,并根据NSLog似乎工作正常。 我不清楚的是,一旦我从孩子回来,我该如何“刷新”数据。 让我更具体:在孩子有一个“后退”button,做popViewControllerAnimated,然后我们回到父母。 我想重新运行我在viewDidLoad中的所有方法,所以父视图字段与我从NSUserDefaults数据中获得的更改一起设置。 哪里在父方法我应该告诉视图“刷新”? 我如何做这个刷新行动? 我应该再次调用viewDidLoad? 我读了一些名为setNeedsDisplay的东西,如果这是我应该使用的东西,语法是什么(是“[self。view setNeedsDisplay]”还是别的)? 任何人都可以指导和阐述?