Tag: uinavigationbar

NavigationBar延迟更新barTintColor iOS10

语境: 假设我们有一个NavigationController和2个viewControllers。 ViewControllerA有一个蓝色的导航ViewControllerB ,而ViewControllerB有一个绿色的。 我把它们设置成这样: override func viewWillAppear(_ animated: Bool) { self.navigationController?.navigationBar.barTintColor = UIColor.blue // Green if ViewController B } 当我从A到B时运行良好,但是当我返回时,navigationBar teint被更新。 就好像它是在viewDidAppear设置的。 预期: 导航栏的导航栏颜色应该没有延迟地更新。 解决scheme尝试 我见过这个post,我试过解决scheme。 它的工作,但会导致导航栏的pipe理更加复杂和痛苦。 (在一个真正的应用程序) 我试图改变ViewWillDisappear方法中的navbar teint。 没有工作。 更多: 这是由ios10 API的变化引起的。 我已阅读发行说明 ,但在这种情况下应该做什么还不清楚。 在iOS 10中,UIKit更新和统一了UINavigationBar,UITabBar和UIToolbar的后台pipe理。 尤其是,对这些视图的背景属性(如背景或阴影图像,或设置条forms)的更改可能会启动条形图的布局传递以parsing新的背景外观。 尤其是,这意味着尝试在layoutSubviews, – [UIView updateConstraints],viewWillLayoutSubviews,viewDidLayoutSubviews,updateViewConstraints或响应布局调用的任何其他方法内部更改这些条的背景外观可能会导致布局循环。 在某些情况下,您可以通过确保在需要对象(如UIImage或UIColor)时总是使用相同的对象实例来打破这些布局循环。 但总的来说,你应该避免这样做。 题: 在iOS 10中处理不同导航控制器之间导航栏变化的最好方法是什么?

更改导航栏iOS Swift的高度

我试图改变那里的导航栏为我的应用程序的高度。 目前高度固定为44.我可以改变Xcode的宽度,但不是高度。 我不知道如何改变这一点。 iOS开发非常新颖。 任何人都可以请帮忙?

UINavigationBar的drawRect在iOS 5.0中不被调用

我已经overrided(放在类别中,或调整)UINavigationBar的drawRect来显示自定义背景。 在iOS 5中,它不工作。 我该怎么办?

iPhone – 如何设置uinavigationbar高度?

我想让导航视图的顶部变小一些。 你将如何实现这一目标? 这是我迄今为止所尝试的,但正如你所看到的那样,即使我缩小了导航栏,它所占据的区域仍然在那里(黑色)。 [window addSubview:[navigationController view]]; navigationController.view.frame = CGRectMake(0, 100, 320, 280); navigationController.navigationBar.frame = CGRectMake(0, 0, 320, 20); navigationController.view.backgroundColor = [UIColor blackColor]; [window makeKeyAndVisible];

iOS 7状态栏与NavigationBar碰撞

我在我的应用程序中有一个视图控制器,在故事板上有一个导航栏拖动它。 它在iOS 6中工作正常,但在iOS 7中它看起来像这样: 状态栏和导航栏不应该相互碰撞。 我在堆栈溢出中看到了很多这样的问题,但对我来说帮助不大。 有些问题说我应该使用这个“self.edgesForExtendedLayout = UIRectEdgeNone;” 但它没有工作。 有人说我应该删除导航栏,并将其embedded导航控制器,我不能做,因为我的程序的实施方式。 一些解决schemebuild议使用视图边界和所有,但它不适合我。 什么是可以帮助我解决这个问题的一件事。 提前致谢! 更新:我已经embedded视图控制器内的uinavigation控制器。 删除了之前手动添加的导航栏。 现在看起来好像在故事板,但是当我运行它,它显示以下内容: 它显示来自另一个视图控制器的文本,该视图控制器当前位于其父视图控制器之后。 意味着它现在透明。 任何人都可以指出我做错了什么?

在UINavigationBar中更改UIBarButtonItem的位置

如何更改UINavigationBar中UIBarButtonItem的位置? 我希望我的button比正常位置高出大约5px。

UISegmentedControl在iOS 7的UINavigationbar下面

如何使UISegmentedControl成为UINavigationBar的一部分? 它是连接到UINavigationBar还是一个完整的独立视图,只是作为子视图添加到UINavigationController的视图控制器。 看起来像是UINavigationBar一部分,因为在栏下有一个影子。

如何添加一个右键到UINavigationController?

我正试图添加一个刷新button到导航控制器的顶部栏没有成功。 这是标题: @interface PropertyViewController : UINavigationController { } 这是我想如何添加它: – (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Show" style:UIBarButtonItemStylePlain target:self action:@selector(refreshPropertyList:)]; self.navigationItem.rightBarButtonItem = anotherButton; } return self; }

更改UINavigationBar高度

有人能告诉我如何改变导航栏的高度? 这是我迄今为止: CGFloat navBarHeight = 10; self.navigationController.navigationBar.frame.size.width = navBarHeight;

如何在iOS7中绘制透明的UIToolbar或UINavigationBar

我想要一个完全透明的UIToolbar和/或UINavigationBar 。 我已经尝试过为iOS 5之前和之后提供的各种咒语,但没有一个似乎能够继续工作。 这怎么可能在iOS 7中完成?