UINavigationBar形状的自定义后退按钮
即时尝试为我的应用程序的导航栏设置自定义后退按钮。现在即时通讯使用此代码来做到这一点:UINavigationBar形状的自定义后退按钮
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"backbutton.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
这最终扭曲了我的形象,并使其伸展。它也增加了文字。 我该如何制作它才能显示这张图片?
以下是图像:http://thai-flashcards.info/images/arrow-blue-rounded-left.jpg?1303347394
什么你要找的是具有伸缩性的图像。
这应该让你整理出来:
http://idevrecipes.com/2010/12/08/stretchable-images-and-buttons/
编辑:看你的形象,我不认为这会工作。
您将不得不制作一个自定义UIButton并将您的后退按钮设置为该自定义按钮并自行处理ViewController弹出窗口。
您可以像这样设置/设置按钮。
UIImage *buttonImage = [UIImage imageNamed:@"mybuttonimage.png"];
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
[doneButton addTarget:self action:@selector(goBack)forControlEvents:UIControlEventTouchUpInside];
[doneButton setImage:buttonImage forState:UIControlStateNormal];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]initWithCustomView:doneButton];
self.navigationItem.leftBarButtonItem = backButton;
而且你需要添加你的方法GoBack的
-(void)goBack { // Go Back
[self.navigationController popToViewController:
[self.navigationController.viewControllers objectAtIndex:3] animated:YES];
}
制作自定义barButton之后,在UINavigationBar.backItem中设置“UINavigationItem”的'backBarButtonItem'处理y OU? – 2013-03-27 23:30:21
其实不!我不知道为什么苹果不支持它,但:http://stackoverflow.com/questions/4964276/self-navigationitem-backbarbuttonitem-not-working-why-is-the-previous-menu-st – 2013-03-27 23:37:52
哦,是啊, 好。感谢您的澄清! – 2013-03-27 23:45:48
添加在AppDelegate中下didFinishLaunchingWithOptions
UIImage *backBtnIcon = [UIImage imageNamed:@"back.png"];
UIImage *backButtonImage = [backBtnIcon resizableImageWithCapInsets:UIEdgeInsetsMake(0, backBtnIcon.size.width - 1, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault ];
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -30) forBarMetrics:UIBarMetricsDefault];
见http://stackoverflow.com/a/15644778/412916 – Jano 2013-03-27 23:27:37