我想以编程方式创buildUIBarButtonItems并在button之间放置这些固定的空间项目。
我用几个button在IB中创build了一个工具栏。 我希望能够根据主窗口中数据的状态来隐藏/显示其中一个button。 UIBarButtonItem没有一个隐藏的属性,我发现到目前为止隐藏它们的任何示例涉及设置导航栏button为零,我不认为我想在这里做,因为我可能需要再次显示button(更何况,如果我把我的button连接到一个IBOutlet,如果我把它设置为零,我不知道我怎么把它拿回来)。
如何更改UINavigationBar中UIBarButtonItem的位置? 我希望我的button比正常位置高出大约5px。
我有一个iOS 7应用程序,我在这里设置自定义后退button: UIImage *backButtonImage = [UIImage imageNamed:@"back-button"]; UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; [backButton setImage:backButtonImage forState:UIControlStateNormal]; backButton.frame = CGRectMake(0, 0, 20, 20); [backButton addTarget:self action:@selector(popViewController) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton]; viewController.navigationItem.leftBarButtonItem = backBarButtonItem; 但是这会禁用iOS 7的“从左向右滑动”手势以导航到前一个控制器。 有谁知道我可以如何设置自定义button,并保持这种姿态启用? 编辑:我试图设置viewController.navigationItem.backBarButtonItem,而是这似乎并不显示我的自定义图像。
我试图覆盖导航控制器中后退button的默认操作。 我在自定义button上提供了一个目标操作。 奇怪的是,当通过backbutton属性赋值时,它并不关注它们,它只是popup当前视图并返回到根: UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle: @"Servers" style:UIBarButtonItemStylePlain target:self action:@selector(home)]; self.navigationItem.backBarButtonItem = backButton; 只要我通过navigationItem上的leftBarButtonItem设置它,它会调用我的动作,但是这个button看起来像一个普通的圆形而不是箭头后面的一个: self.navigationItem.leftBarButtonItem = backButton; 如何在返回到根视图之前调用我的自定义操作? 有没有办法来覆盖默认的后退动作,还是有一种方法,总是在离开视图时调用(viewDidUnload不这样做)?