我正在所有课程中创建bar button
。无论如何只能编写一次这个代码并在所有类中使用?
toolbar = [[UIToolbar alloc]
initWithFrame:CGRectMake(90, 0, 100, 45)];
toolbar.tintColor=self.navigationController.navigationBar.tintColor;
// create an array for the buttons
NSMutableArray* buttonsArray = [[NSMutableArray alloc] initWithCapacity:2];
// create a standard save button
UIImage *buttonImage = [UIImage imageNamed:@"home.png"];
UIButton *homeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[homeButton setImage:buttonImage forState:UIControlStateNormal];
homeButton.frame = CGRectMake(100,2, 35, 35);
[homeButton addTarget:self action:@selector(homeButtonpress) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *customHomeBarItem = [[UIBarButtonItem alloc] initWithCustomView:homeButton];
[buttonsArray addObject:customHomeBarItem];
[customHomeBarItem release];
UIImage *logoutImg=[UIImage imageNamed:@"power.png"];
UIButton *logOutBtn=[UIButton buttonWithType:UIButtonTypeCustom];
[logOutBtn setImage:logoutImg forState:UIControlStateNormal];
[logOutBtn addTarget:self action:@selector(logOutButtonPress) forControlEvents:UIControlEventTouchUpInside];
logOutBtn.frame=CGRectMake(0, 2, 35, 40);
UIBarButtonItem *customLogOutButton=[[UIBarButtonItem alloc]initWithCustomView:logOutBtn];
[buttonsArray addObject:customLogOutButton];
[customLogOutButton release];
[toolbar setItems:buttonsArray animated:NO];
[buttonsArray release];
// place the toolbar into the navigation bar
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar];
[toolbar release];
答案 0 :(得分:3)
- 创建实用程序类
- 添加用于创建&的类方法返回UIBarButtonItem。
- 在.pch或要使用它的类中导入Utility.h。
醇>
<强> Utility.m 强>
+ (UIBarButtonItem *) barButtonItemWithTitle:(NSString *)title backgroundImage:(NSString *)image target:(id)target action:(SEL)action
{
//create button & return it
return barButtonItem;
}
使用
<强> ViewController.m 强>
UIBarButtonItem* backButtonItem = [Utility barButtonItemWithTitle:@" Back" backgroundImage:@"back_button" target:self action:@selector(backButtonAction)];
self.navigationItem.leftBarButtonItem = backButtonItem;