Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.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 从UISearchBar中删除“定义”_Ios_Uisearchbar - Fatal编程技术网

Ios 从UISearchBar中删除“定义”

Ios 从UISearchBar中删除“定义”,ios,uisearchbar,Ios,Uisearchbar,我希望从已放置在视图nib文件中的UISearchBar菜单中删除定义选项 正如广泛建议的那样,我对UISearchBar进行了子类化,然后使用sender:idsender对-BOOLcanPerformAction:SELaction进行了重写,只对剪切、复制和粘贴选项返回YES。然后,我将这个UISearchBar的自定义类设置为我在nib文件中创建的子类 确实调用了该方法,但没有按预期工作。当我设置断点并监视调用它的操作时,它会被调用为define:只有在少数情况下是的,只是随机的-它可

我希望从已放置在视图nib文件中的UISearchBar菜单中删除定义选项

正如广泛建议的那样,我对UISearchBar进行了子类化,然后使用sender:idsender对-BOOLcanPerformAction:SELaction进行了重写,只对剪切、复制和粘贴选项返回YES。然后,我将这个UISearchBar的自定义类设置为我在nib文件中创建的子类

确实调用了该方法,但没有按预期工作。当我设置断点并监视调用它的操作时,它会被调用为define:只有在少数情况下是的,只是随机的-它可能在一次运行时出现,而在另一次运行时可能不会出现。即使调用define:,并返回NO,define选项也会出现在菜单上


我有办法解决这个问题吗?应用程序的部署目标是iOS 7

这种方法的问题是UISearchBar具有非常复杂和危险的视图层次结构。最有可能的是,有几个内部文本字段的其中一个字段正在捕获canPerformAction调用并积极响应。没有什么好的解决办法。您可能可以通过运行时黑客来实现这一点,但不推荐这样做。对,我见过一些建议通过子视图进行循环的解决方案,但我确实不愿意这样做。更糟糕的是,循环将不足以满足您的需要。我的建议是顺其自然,如果真的困扰你,打开一个bug报告/苹果的功能增强。请确保将rdar://编号张贴在此处,以便其他人复制。