我已经从CollectionViewController – > MenuTableViewController – > ListViewController成功链接链接的委托方法。 在ListViewController扩展中,我调用changeTitleView()但它不工作。 数据,但是成功通过,因为print(title)正确打印传递的信息。 如果在ListViewController调用, changeTitle()正确执行 class ListViewController { var navigationTitle: String? @objc func changeTitle(title: String) { let titleLabel = UILabel() let attributes: NSDictionary = [ NSAttributedStringKey.font:UIFont(name: "HelveticaNeue", size: 20)!, NSAttributedStringKey.foregroundColor: UIColor(red: 0.1137, green: 0.1137, blue: 0.149, alpha: 0.8) /* #1d1d26 */, NSAttributedStringKey.kern:CGFloat(2.0) ] let attributedTitle = NSAttributedString(string: title.uppercased(), attributes: […]
可以将约束分配给手动添加到视图的UINavigationBar 。 但是,当UINavigationBar被添加到视图时,并且视图被embedded到导航控制器中时,我无法添加约束条件。 我的目标是增加UINavigationBar的高度
美好的一天。 我正面临一个奇怪的问题,我想设置正确的导航项目在我的下一个select一个行完成。 我试了一下,它的工作。 但是,它破坏了,因为实现doneEditing主体的函数只在下一个视图控制器中,所以任何帮助都会被真正的赞赏。 这是我的代码: override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "editContact" { let indexPath = tableView.indexPathForSelectedRow() let destinationVC: NewCategoryViewController = segue.destinationViewController as! NewCategoryViewController let contact:Contact = fetchedResultController.objectAtIndexPath(indexPath!) as! Contact destinationVC.contact = contact var rightAddBarButtonItem:UIBarButtonItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: "doneEditing:") destinationVC.navigationItem.rightBarButtonItem = rightAddBarButtonItem } } 和我的下一个视图控制器是: import […]
iOS 7.0及更高版本 在AppDelegate.m,我设置我的全球tintColor: self.window.tintColor = myGlobalTintColor; 。 在我的表格视图控制器,我想在导航栏中的红色垃圾桶button,同时编辑表格视图单元格,我有这样的: – (void)setEditing:(BOOL)editing animated:(BOOL)animate { [super setEditing:editing animated:animate]; if (editing) { // Start editing self.deleteBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(deleteButtonPressed)]; [self.deleteBarButtonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor redColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal]; self.navigationItem.rightBarButtonItems = @[self.deleteBarButtonItem]; } } 尽pipe将NSForegroundColorAttributeName设置为[UIColor redColor],的代码行[UIColor redColor],我从来没有看到红色。 当它设置为.enabled = YES的button,我只是看到它在我的全球色彩,像所有其他button: 我已经梳理了我的代码,我确定没有其他位置在我设置其他任何地方myGlobalTintColor 。 值得注意的是,这个UITableViewController是从一个故事板实例化的。 在AppDelegate.m中注释掉这行只是将所有的东西都发送回默认的蓝色tintColor ,但是我仍然没有在删除button上看到红色。
我有一个名为“detailViewController”的UIViewController。 这个视图控制器是通过使用push segue的多个不同阶段来访问的。 我面临的问题是,detailViewController上的后退button将用户带回到以前的视图控制器(因为它应该),但是我想要后退button将用户带到masterViewController(应用程序中的默认UIViewController) 。 我该怎么做呢? 我曾经试过改变赛格型,但是根本没有做任何事情。 彼得
我使用XCode的Master / Detail模板编写了一个Master / Detail应用程序。 启动应用程序后,主视图的导航button的标题只是“主”。 现在我不知道如何重命名该button,但不幸的是我不知道如何访问这个button。 在appdelegate.m中有以下代码来初始化视图: MasterViewController *masterViewController = [[MasterViewController alloc] init]; UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController]; DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController] 我尝试了这些方法没有成功: masterViewController.navigationItem.title = @"newTitle"; 要么 masterNavigationController.navigationItem.title = @"newTitle"; 正如我不确定,如果button的名称只是idt背后的视图的标题,我也试过: masterViewController.title = @“newTitle”; 没有工作。 但是,由于button的标题是“主”,我肯定没有设置它,我相信一定有一些方法来设置它。 有谁知道如何做到这一点? 只是显示button:
我有一个视图控制器,并在IB中用提示设置导航栏。 但是我想删除这个提示,有时候把它作为“1行”。 我怎么能在代码中做到这一点?
我想将我的右栏button项目的颜色从黑色更改为白色。 这是一个button作为search图标。 我还没有对search实现进行编码,因为我想先完成主界面。 我以为我写了正确的代码,所以它应该显示为白色,但在故事板和模拟器中似乎仍然显示为黑色。 在故事板中,我也把它设置为白色。 这是我的代码,位于AppDelegate.swift文件中: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Changing the status bar's colour to white UIApplication.sharedApplication().statusBarStyle = .LightContent // Changing the navigation controller's background colour UINavigationBar.appearance().barTintColor = UIColor(red: 0.0/255.0, green: 165.0/255.0, blue: 227.0/255.0, alpha: 1.0) // Changing the navigation controller's title colour UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()] […]
你如何保持导航项目标题视图相同的所有推视图控制器? 例如,我想将标题视图设置为应该在所有屏幕上都可见的徽标。 UIImage *logoImage = [UIImage imageNamed:@"navigation-bar-logo"]; UIImageView *titleLogo = [[UIImageView alloc] initWithImage:logoImage]; self.navigationItem.titleView = titleLogo; 如果我为每个视图控制器单独设置它,iOS7导航栏animation看起来很奇怪。
我目前使用这个代码来设置我的导航项目的titleView: – (void)viewDidLoad { … UIImage *navbarTitle = [UIImage imageNamed:@"navbartitleview1"]; UIImageView *imageView = [[UIImageView alloc]initWithImage:navbarTitle]; self.navigationItem.titleView =imageView; } 有没有办法,我可以把这个代码使用UIAppearance? [UINavigationItem appearance] 无效。