Tag: uinavigationbar

重写UINavigationBar时,iOS 7状态栏变黑

我是UINavigationBar以便我可以重写drawRect方法。 但是,当我在iOS 7中这样做时,状态栏将变成完全黑色。 根本没有文字。 在iOS 6中,它没有这个问题。 状态栏是它应该在的地方。 – (void)drawRect:(CGRect)rect // status bar goes pitch black { [super drawRect:rect]; } 如果我注释掉这个方法,状态栏会返回。 我怎样才能得到状态栏? 更新2014年4月15日 我尝试使用我在这里find的代码将状态栏设置为别的东西,但它似乎没有任何效果。

方面填写导航栏图像?

我想要获得与我的导航控制器的背景图像相同的外观。 目前我正在使用它来设置图像: UINavigationBar.appearance().setBackgroundImage(imageToCache?.resizableImage(withCapInsets: UIEdgeInsetsMake(0, 0, 0, 0), resizingMode: UIImageResizingMode.stretch), for: .default) UIImageResizingMode.stretch显然给了我一个讨厌的拉伸外观。 我不在乎图像是在顶部/底部切断,我只是需要它被放入导航栏全尺寸,并显示显示。 我不能只是通过调整模式。 还有 init(rawValue:)) 选项的大小调整模式,但任何数字我放在那里导致没有图像在后台了。 有任何想法吗? 编辑: let picture = passedPerson.pictureURL! if let imageFromCache = MainPageVC.imageCache.object(forKey: picture as String as NSString) { var titleView = UIImageView() titleView.contentMode = .scaleAspectFit titleView.image = imageFromCache self.navigationItem.titleView = titleView } else { print(picture) var requested = URLRequest(url: […]

在NavBar滑动隐藏,HeaderCell创build一个透明的差距和内容显示

我有一个标题单元格和内容单元格。此外,我有一个NavBar的 — Status Bar — — NavBar — – Header Cell – — Content Cells – 到现在为止,一切似乎都很好。 然后,我打开滑动隐藏导航栏。 一切工作完美无暇,直到Content Cells的视图出现在标题单元之上。 我给了状态栏和标题单元颜色,以了解究竟是什么导致了这个问题。 我无法弄清楚问题,但是问题是 :Header Cell需要一段时间才能连接到状态栏,所以它会给出一个透明的差距。 不幸的是,这个透明的空白显示了内容视图单元格的文字。 这是UITableViewController 我也尝试创build一个ViewController并从UITableViewControllerembeddedTableView,并给予约束.. 一切看起来都很好,但是在NavBar隐藏之后,它会给出一个默认的差距,甚至不会消失。 – > – >

在AppDelegate中定制UISearchBar&UINavigationBar的外观? 为什么要在课堂而不是实例级别自定义?

我正在学习这个教程 。 在它的AppDelegate中,它有一个customizeAppearance() ,其中UISearchBar & UINavigationBar是types/类属性。 他们不应该是像窗口或当前viewController我们在? 我们如何才能发送一个类,然后让它改变我们的UI? FWIW当我cmmd点击…显然它只是把它带到类的定义。 import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var backgroundSessionCompletionHandler: (() -> Void)? var window: UIWindow? let tintColor = UIColor(red: 242/255, green: 71/255, blue: 63/255, alpha: 1) func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. customizeAppearance() […]

导航栏标题alignment问题

我已经设置自定义视图导航栏titleView,当页面是第一个视图控制器标题正确显示在中心 但是当视图控制器从另一个视图控制器被推动时,标题向右移动 代码: -(void)setUpTwoLineNavigationTitle { CGFloat width = 0.95 * self.view.frame.size.width; UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, width, 44)]; contentView.backgroundColor = [UIColor clearColor]; CGRect titleRect = contentView.frame; titleRect.origin.y = 4; titleRect.size.height = 20; UILabel *titleView = [[UILabel alloc] initWithFrame:titleRect]; titleView.backgroundColor = [UIColor clearColor]; titleView.font = [UIFont systemFontOfSize:14.0]; titleView.textAlignment = NSTextAlignmentCenter; titleView.textColor = [UIColor blackColor]; […]

设置UINavigationBar的背景颜色没有效果?

对于大多数iOS小部件,我可以设置背景颜色。 看来,UINavigationBar不是这样的。 此外,我不能设置导航项目(顶部项目)的背景,因为它不响应setBackgroundColor。 我怎样才能改变这种颜色? 谢谢。

如何更改UINavigationBar的高度

这个问题使我瘫痪了一天。 我需要修改UINavigationBar的高度。 UINavigationController就像这样在AppDelegate中创build。 self.navigationController = [[UINavigationController alloc] initWithRootViewController:mainController]; [self.window addSubview:self.navigationController.view]; [self.window makeKeyAndVisible]; 如果我添加[self.navigationController.navigationBar setFrame:newFrame] viewDidAppear像下面的代码,导航栏的高度将更改和坚持。 – (void)viewWilAppear:(BOOL)animated { [super viewWillAppear:animated]; CGRect newFrame = CGRectMake(0, 0, 320, 100); [self.navigationController.navigationBar setFrame:newFrame] } 但是 ,如果我这样做,实际上可以看到框架从原始的44px到100px的高度在视图加载的瞬间,这是非常烦人的。 我已经尝试添加[navBar setFrame:] viewDidload , viewWillAppear的rootViewController,也是刚刚启动UINavigationController后的AppDelegate。 这些都没有工作。 只是所以你知道,我已经重写了一个UINavigationBar类别中的drawRect:(CGRect)rect方法,使用下面的代码将背景颜色变成纯黑色,但是我不认为这与问题有关。 [[UIColor blackColor] set]; CGContextFillRect(UIGraphicsGetCurrentContext(), rect); 有谁知道最好的方法来做到这一点?

当通过点击手势继续时,故事板失去导航栏

我的应用程序有两个场景:一个导航​​栏在顶部的UIViewController和一个UITableViewController。 如果我把第一个场景中的button连接到桌面视图,一切看起来都很棒。 但是,如果我在第一个场景中连接点击手势以继续表格视图,那么导航栏不会显示在Xcode的第二个场景中。 当应用程序运行时,导航栏应该显示,但在故事板编辑器中,它已经消失了。 是否有什么特别的事情需要做,以保持导航栏时,从一个场景延续到另一个使用轻击手势? 为了实现轻击手势,我将其拖动到故事板中的某个元素上,然后将控件从场景底部的“轻击手势识别器”图标拖动到我想要的场景中。 然后select“推”为seguetypes。

影响UINavigationBar的后退button方法(iOS)

我有一个表视图,推到一个详细视图控制器。 从详细视图控制器,当我按下“后退”button,我想要一个整数值改变。 如何以编程方式编辑导航栏后退button的动作。 后退button自动放置在我的应用程序,因为我使用的是一个表视图,所以我实际上并没有创buildbutton,所以我不知道如何影响它的方法。 要清楚,我仍然希望后退button回到原始视图,但同时更改整数的值。 谢谢!

更改UINavigationController中“后退”button的默认字体

我正在尝试将UINavigationController中的“后退”button的默认字体更改为自定义字体 UIFont *myCustomFont = [UIFont fontWithName:@"MyCustomFont" size:18]; 我怎样才能设置这个自定义字体到后退button? 我已经浏览了其他类似问题的答案,但没有成功。