ios)Object-c。如何自定义导航栏上的按钮
问题描述:
我正在开发具有自定义导航栏的基于导航的应用程序。我成功了一个带有图像和按钮的导航栏。但是我不知道如何让自定义按钮.. :(ios)Object-c。如何自定义导航栏上的按钮
这是增加了导航栏上的“主”按钮的代码。(在视图控制器,initWithNibName方法)
if (self) {
// Custom initialization.
//set navigation id to I to inform that that page is inforview
navID = @"I";
//adds the button on the navigation bar
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@"Main" style:UIBarButtonItemStyleBordered target:self action:@selector(goBack:)];
self.navigationItem.leftBarButtonItem = button;
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
[button release];
[navID release];
}
谢谢
我创建了一个自定义按钮,并把它应用到的UIBarButtonItem。 没有错误,但没有显示在导航栏:( 上这是我的代码 -
//create a custom button
UIImage *image = [UIImage imageNamed:@"TESTButton.png"];
UIButton *myCustomButton = [UIButton buttonWithType:UIButtonTypeCustom];
myCustomButton.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
[myCustomButton setImage:image forState:UIControlStateNormal];
[myCustomButton addTarget:nil action:@selector(goBack:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView:myCustomButton];
self.navigationItem.leftBarButtonItem = button;
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
任何人都可以修复我的代码? :)
答
最简单的方法是使用:
UIButton *yourCustomButton = ....
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:yourCustomButton];
self.navigationItem.leftBarButtonItem = barButtonItem;
[barButtonItem release];
嗯,你可以包括yourCustomButton代码? – Leanne
这取决于你需要什么。您可以使用'[UIButton buttonWithType:]'创建按钮并在代码中进行设置。或者您可以在xib中创建按钮并将其用于您的自定义'UIBarButtonItem'。没有“通用”的代码。 – Andriy