Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios textfield和tableview单元格到导航栏中的活动按钮_Ios_Objective C_Uitableview_Uitextfield_Uinavigationbar - Fatal编程技术网

Ios textfield和tableview单元格到导航栏中的活动按钮

Ios textfield和tableview单元格到导航栏中的活动按钮,ios,objective-c,uitableview,uitextfield,uinavigationbar,Ios,Objective C,Uitableview,Uitextfield,Uinavigationbar,1.在Facebook iOS应用程序中,当一个人打开一篇新帖子但没有输入任何内容时,右上角的帖子按钮不起作用。它将在输入任何内容后立即激活。如何实现这一效果 2.我想制作一个包含许多标签名称的页面作为单元格内容,用户可以选择一些标签来过滤内容。基本上,有两个部分,选择的部分和未选择的部分。当用户触摸未选定区域中的单元格时,它将飞到选定区域。我希望仅当选定部分中至少有一个单元格(最初,所有标记名都在未选定部分)时,才激活右上角的GO按钮。那么如何实现它,让tableview单元格影响导航栏中的G

1.在Facebook iOS应用程序中,当一个人打开一篇新帖子但没有输入任何内容时,右上角的帖子按钮不起作用。它将在输入任何内容后立即激活。如何实现这一效果


2.我想制作一个包含许多标签名称的页面作为单元格内容,用户可以选择一些标签来过滤内容。基本上,有两个部分,选择的部分和未选择的部分。当用户触摸未选定区域中的单元格时,它将飞到选定区域。我希望仅当选定部分中至少有一个单元格(最初,所有标记名都在未选定部分)时,才激活右上角的GO按钮。那么如何实现它,让tableview单元格影响导航栏中的GO按钮呢?谢谢大家!

您可以使用UIButton的
enabled
属性,并检测按钮何时启用或不启用

对于UITextView,您可能有一个委托方法可以帮助您。从中读取所有委托方法。例如,您可以使用
textViewDidChange:(UITextView*)textView
方法。在它内部,只有当
[textView.text length]
大于0时,才能启用按钮

对于第二个答案,您应该有一个模型(可能是一个数组),用于存储所选标记。管理按钮状态的正确方法应该是使用,在每次模型更改时检测并仅在阵列中有项目时启用按钮。另一种方法是使用相同的方法从模型中添加或删除项目,以正确启用或禁用按钮


请原谅我的英语,但我希望这个答案有帮助

使用以下代码。。。由代码中的注释解释

viewDidLoad

textField.delegate = self; //sets delegate to this file so it calls the method below
.h
文件中

@interface ViewController : UIViewController <UITextFieldDelegate> //makes it so we can set the delegate
- (BOOL) textField:(UITextField *)aTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { //method that gets called on edit
if([textField.text length] > 0) { //if contains characters
tabBarButton.enabled = YES; //set enabled
} 
else { //if not
tabBarButton.enabled = NO; //set disabled
}
return YES;
}
您必须相应地更改
选项卡按钮
文本字段
,因为它们是变量