不同的UIToolBar/UINavigatonBar当攻丝UITextField

问题描述:

好吧,所以我有一个UINavbarController与工具栏中的下一个和后退按钮使用setLeftBarButtonItem和setRightBarButtonItem。我在桌面视图下面有一堆文本框,当有人点击文本框时,我想将导航栏更改为不同的UIToolBar/UINavigatonBar当攻丝UITextField

a)删除或隐藏取消和保存按钮 b)添加完成按钮以关闭键盘或日期选择器

当使用setRightBarButtonItem/setLeftBarButonItem时,我实际上不能删除或隐藏取消/保存按钮...只能禁用它们。

所以我的问题是如何显示不同的UItoolBar时,在文本框中点击以显示不同的按钮?

首先,为什么你想放置另一个工具栏,当你已经有一个。通过更改工具栏按钮的名称使用相同的按钮。

需要照顾的步骤。

  1. add Delegate to textfields。 (所以你可以使用文本框的委托方法来改变按钮的标题名称文本框时开始编辑&结束。)左&右按钮检查条件

2.performing行动。 即

UIBarButton *the_button = (UIBarButton *)sender; 

if([[the_button.currentTitle] isEqualToString:@"Save"]) 
{ 
//perform some action 
} 

else 
{ 
//perform else condition 
} 
+0

如果例如我曾在导航栏一取消和保存按钮,点击进入一个文本框,当它在底部显示的UIDatePicker,我想删除取消按钮,更改Save按钮的已完成按钮...保存到完成很容易基于您的示例,但取消不能被删除的权利? – camslaz

+0

然后你隐藏取消按钮。即self.navigationbar.leftBarbutton.hidden = YES; – Anand

+0

隐藏不是您可以在leftBarButtonItem上设置的属性。只有启用(布尔)。 – camslaz