草庐IT

UINavigationBar

全部标签

ios - 获取 UINavigationBar 委托(delegate)以允许 "back",带有漂亮的动画

iPhone上的场景:用户点击后退按钮,UINavigationBar委托(delegate)方法(在UINavigationController的子类中实现)返回YES,如下所示:-(BOOL)navigationBar:(UINavigationBar*)navigationBarshouldPopItem:(UINavigationItem*)item{//Verifystuff...returnYES;}现在,根据docs,保持导航栏和内容同步是应用程序的责任,而这样做的地方是在委托(delegate)方法中-(void)navigationBar:(UINavigationB

iOS 11 UINavigationBar 自定义背景总是在状态栏下延伸

我正在为我的导航Controller导航栏应用自定义背景[[UINavigationBarappearance]setBackgroundImage:[UIImageimageNamed:@"navbar"]forBarPosition:UIBarPositionTopbarMetrics:UIBarMetricsDefault];iOS10在iOS10中,背景被正确应用并且导航栏出现在状态栏下方:iOS11但是在iOS11中,背景图像看起来总是应用在状态栏后面。我已经为“forBarPosition”尝试了不同的值,但这并没有改变行为。我已经在一个独立的应用程序中隔离了这个问题,这个

iOS 11 UINavigationBar 自定义背景总是在状态栏下延伸

我正在为我的导航Controller导航栏应用自定义背景[[UINavigationBarappearance]setBackgroundImage:[UIImageimageNamed:@"navbar"]forBarPosition:UIBarPositionTopbarMetrics:UIBarMetricsDefault];iOS10在iOS10中,背景被正确应用并且导航栏出现在状态栏下方:iOS11但是在iOS11中,背景图像看起来总是应用在状态栏后面。我已经为“forBarPosition”尝试了不同的值,但这并没有改变行为。我已经在一个独立的应用程序中隔离了这个问题,这个

ios - 导航栏的横向模式问题

我有一个ViewController,它管理一个View,其中我有一个TableView、一个ImageView和一个导航栏。当我将它置于横向模式时,导航栏不会调整为32,它仍然保持为44我首先尝试在IB中使用自动调整大小但没有成功,然后我尝试将此代码放入ViewController-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientationduration:(NSTimeInterval)duration{//[superwillAnimateRotationToInterfa

ios - 导航栏的横向模式问题

我有一个ViewController,它管理一个View,其中我有一个TableView、一个ImageView和一个导航栏。当我将它置于横向模式时,导航栏不会调整为32,它仍然保持为44我首先尝试在IB中使用自动调整大小但没有成功,然后我尝试将此代码放入ViewController-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientationduration:(NSTimeInterval)duration{//[superwillAnimateRotationToInterfa

iphone - 如何将多个 UIBarButton 项目添加到导航栏?

我想在UINavigationBar上绘制多个按钮。这些将位于右侧或左侧。 最佳答案 我做了一个示例,其中我在NaviagationBar的右侧有两个按钮(即编辑和+)。1)您必须创建一个NSMutableArray(即示例中的“按钮”)并将UIBarButtonItem(即示例中的bi1和bi2)添加到NSMutableArray(即按钮)。2)将NSMutableArray(即示例中的按钮)添加到工具栏(即示例中的UIToolbar*tools)。3)将工具栏添加到NavigationBar。NSMutableArray*but

iphone - 如何将多个 UIBarButton 项目添加到导航栏?

我想在UINavigationBar上绘制多个按钮。这些将位于右侧或左侧。 最佳答案 我做了一个示例,其中我在NaviagationBar的右侧有两个按钮(即编辑和+)。1)您必须创建一个NSMutableArray(即示例中的“按钮”)并将UIBarButtonItem(即示例中的bi1和bi2)添加到NSMutableArray(即按钮)。2)将NSMutableArray(即示例中的按钮)添加到工具栏(即示例中的UIToolbar*tools)。3)将工具栏添加到NavigationBar。NSMutableArray*but

ios - 如何让 UINavigationController 在设置半透明属性时不更改其 View 大小?

我有一个应用程序,到目前为止,我一直在使用带有UINavigationBar的UINavigationController,该UINavigationBar的属性为translucent=YES。这意味着UINavigationController的内容View(即来自您推送的ViewController的View)是全屏的(减去状态栏)。但是,如果你设置navigationBar.translucent=NO,这个容器View会变短44pt,因为我想Apple已经假设你不需要不透明的navigationBar下的任何内容。...除非您正在做我们正在做的事情并且正在使用滚动的导航栏(请

ios - 如何让 UINavigationController 在设置半透明属性时不更改其 View 大小?

我有一个应用程序,到目前为止,我一直在使用带有UINavigationBar的UINavigationController,该UINavigationBar的属性为translucent=YES。这意味着UINavigationController的内容View(即来自您推送的ViewController的View)是全屏的(减去状态栏)。但是,如果你设置navigationBar.translucent=NO,这个容器View会变短44pt,因为我想Apple已经假设你不需要不透明的navigationBar下的任何内容。...除非您正在做我们正在做的事情并且正在使用滚动的导航栏(请

iphone - 从 UINavigationBar 中的按钮中删除发光效果

如何去除导航栏按钮的光泽/光泽效果?如果我使用自定义图像自定义导航栏,按钮不受影响,我可以删除它们的效果(线条和光泽),或者为整个按钮定义一个十六进制颜色代码,甚至为它们定义一个自定义图像? 最佳答案 我刚刚经历了解决这个问题的过程。基本上,您需要创建自定义的可拉伸(stretch)图像并将它们用作按钮的背景以消除光泽。替换UINavigationController中的后退按钮有点困难。为此,我使用UINavigationControllerDelegate将默认后退按钮替换为我的自定义按钮。这是一些代码:在UIBarButton