2013-09-22 33 views
6

dox如何创建后退按钮自定义掩模图像的iOS7

  • 如果你想使用自定义图像替换默认字形,您还需要创建一个自定义的掩模图像。 iOS 7使用的掩码为 使导航过渡期间前一个屏幕的标题显示出来或者消失 进入雪佛龙。要了解控制后退按钮和蒙版图像的 属性,请参阅 UINavigationBar类参考。

在UINavigationBar的类参考:

backIndicatorImage

背面按钮旁边所示的图像。 @属性(非原子,保留) 的UIImage * backIndicatorImage讨论

如果您想自定义回指示符图像,还必须设置 backIndicatorTransitionMaskImage。可用性

Available in iOS 7.0 and later. 

参见

@property backIndicatorTransitionMaskImage 

宣布UINavigationBar.h backIndicatorTransitionMaskImage

期间用作推入和弹出转变为内容的掩模的图像。 @属性(非原子,保留)的UIImage * backIndicatorTransitionMaskImage 讨论

如果您想自定义回指示符图像,还必须设置 backIndicatorImage。可用性

Available in iOS 7.0 and later. 

请参见

@property backIndicatorImage 

宣布UINavigationBar.h

请原谅我的无知,但提供的并没有告诉我很多的所有信息。

是否有一个Cocoa类将使所需的图像蒙版?或者我需要提供框架,弧线等?或者我只是在编辑器中对我的图像进行黑色轮廓?

+3

“自定义您的应用程序的外观为iOS 7”从WWDC 2013会议上介绍了这两个参数的含义。 – macbirdie

回答

3

我认为这是你在找什么

self.navigationController.navigationBar.backIndicatorImage = [UIImage yourImage]; 
self.navigationController.navigationBar.backIndicatorTransitionMaskImage = [UIImage yourImage]; 
+0

这不难弄清楚(文档提到它),但我应该如何提供图像?它是否适用于透明或黑/白色等我试过一个PNG,它只是一个白色的矩形,涵盖了内容:http://cl.ly/image/0N1V2L181i3t 编辑:kowal的回答提到了解决方案 –

+0

请参阅下面,来自Kowal的回复。此示例中所示的transitionMaskImage应与指示图像不同,但不同,否则文本将在过渡期间出现剪切。 – strangetimes

-2

这就是我所做的和完美的作品

UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; 
[backButton setBackgroundImage:[UIImage imageNamed:@"backbutton.png"] forState:UIControlStateNormal]; 
UIBarButtonItem *barBackButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton]; 
[backButton addTarget:self action:@selector(popViewController) forControlEvents:UIControlEventTouchUpInside]; 
self.navigationItem.leftBarButtonItem = barBackButtonItem; 
self.navigationItem.hidesBackButton = YES; 

和 “popViewController” 看起来像这样

-(void)popViewController{ 
[self.navigationController popViewControllerAnimated:YES]; 

}

33

backIndicatorTransitionMaskImage是能见度掩码。

在掩模图像:

  • alpha = 0的像素将是覆盖期间导航转变移动称号;
  • 具有alpha = 1的像素将是透明用于导航转换期间的移动标题。

所以,如果你想提供相同的可见性的行为在本机背面的指标,可以使用类似于下面的图片(UTF-8的标志):

  1. 返回指示器图像:〱
  2. 回指示符面膜:◀(仅在黑色部分的文本将是可见的)
+1

这应该是公认的答案。 – strangetimes