常用的UIButton或UIbarbutton到导航栏

时间:2017-03-05 08:55:45

标签: objective-c uinavigationcontroller uinavigationbar

我们如何添加公共UIButton或UIBarButton或任何UI对象,以便它出现在应用程序的所有导航栏中。

3 个答案:

答案 0 :(得分:0)

The below code will work perfectly;

UIImage* image3 = [UIImage imageNamed:@"info.png"];
CGRect frameimg = CGRectMake(0, 0, image3.size.width*4, image3.size.height);
UIButton *someButton = [[UIButton alloc] initWithFrame:frameimg];
//[someButton setBackgroundImage:image3 forState:UIControlStateNormal];
[someButton setTitle:@"Category" forState:UIControlStateNormal];
[someButton addTarget:self action:@selector(popUpPicker:)
     forControlEvents:UIControlEventTouchUpInside];
[someButton setShowsTouchWhenHighlighted:YES];

UIBarButtonItem *mailbutton =[[UIBarButtonItem alloc] initWithCustomView:someButton];
self.navigationItem.rightBarButtonItem=mailbutton;
self.navigationItem.leftBarButtonItem = nil;

答案 1 :(得分:0)

对于这些,您必须使用类别,然后您必须在每个视图控制器中调用它以获得每个navigationabr按钮操作的一个代码。

答案 2 :(得分:0)

没有神奇的公式。无论如何,您必须将相同的“UIButton或UIBarButton或任何UI对象”添加到每个UIViewController的navigationItem,其视图将显示在此导航控制器的导航栏下。

您可以通过在一个地方创建此对象来减少重复代码的数量,但是可以说

self.navigationItem.rightBarButtonItem = thisItem

或者你想对条形按钮项做什么,必须为每个视图控制器单独和明确地执行。