app*_*eak 17 iphone image uibarbuttonitem
我使用以下代码将UITabButtonItem添加到我的视图控制器上.任何人都可以告诉我它是否可以将图像与它联系起来?
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(favouriteButtonClicked:)];
viewController2.navigationItem.rightBarButtonItem = button;
[button release];
[self.navigationController pushViewController:viewController2 animated:YES];
Run Code Online (Sandbox Code Playgroud)
我在其他地方使用以下代码,但在上面的代码我将viewcontroller推到我当前的视图,这段代码不起作用.我不得不使用上面的代码.
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"unselected.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(favouriteButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(280, 25, 30, 30)];
viewController2.navigationController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];
[self.navigationController pushViewController:viewController2 animated:YES];
Run Code Online (Sandbox Code Playgroud)
我不知道有什么问题但是当我用initWithBarButtonSystemItem替换这个自定义按钮代码时,它工作得很好!!!
最后,我整理出这个问题,并张贴在这里工作的代码,但仍,如果我有在baseviewcontroller一个按钮,我不明白,我添加它,就象下面,这是行不通的!我必须在viewwillappear中使用我接受的答案中给出的代码!
[favButton addTarget:self action:@selector(favouriteButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];
Run Code Online (Sandbox Code Playgroud)
以下代码仍然无法正常工作!不知道发生了什么.
MPMoviePlayerViewController *videoController = [[[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:filePath]] autorelease];
UIButton* favouritebutton = [UIButton buttonWithType:UIButtonTypeCustom];
[favouritebutton setBackgroundImage:[UIImage imageNamed:@"unselected.png"] forState:UIControlStateNormal];
[favouritebutton addTarget:self action:@selector(favouriteButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
[favouritebutton setFrame:CGRectMake(280, 25, 30, 30)];
videoController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:favouritebutton] autorelease];
[self presentMoviePlayerViewControllerAnimated:videoController];
Run Code Online (Sandbox Code Playgroud)
谢谢.
Mag*_*gie 21
UIButton *favButton = [[UIButton alloc] init];
[favButton setImage:[UIImage imageNamed:@"unselected.png"] forState:UIControlStateNormal];
[favButton addTarget:self action:@selector(favouriteButtonClicked:)
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *button = [[UIBarButtonItem alloc]
initWithCustomView:favButton];
self.navigationItem.rightBarButtonItem = button;
[button release];
[favButton release];
Run Code Online (Sandbox Code Playgroud)
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(methodAction:) forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(0, 0, 49, 30)];
navController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];
Run Code Online (Sandbox Code Playgroud)
将其分配给导航控制器,您也可以按照上面的代码中的描述设置图像.
行.最后我解决了这个问题 谢谢Maggie和Praveen.只有以下代码才能正常工作.从你的两个答案的位:)
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"unselected.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(favouriteButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(280, 25, 30, 30)];
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];
Run Code Online (Sandbox Code Playgroud)
谢谢.