Xamarin问题与iOS 13中的UISearchBar的取消按钮有关

时间:2019-10-01 16:04:30

标签: ios xamarin mobile xamarin.ios

我正在使用Xamarin.iOS开发移动应用程序,现在我刚刚更新了Xamarin的最新版本,以与新的iOS 13兼容。到目前为止,我正在更改{{1} }使用UISearchBar的取消按钮,但现在它告诉了我SetValueForKey

Exception

您能否提供其他方法来更改UISearchBar的取消按钮文本?

编辑

由于@Junior Jiang-MSFT,它得到了快速修复here

ivar is prohibited. This is an application bug

1 个答案:

答案 0 :(得分:1)

很遗憾,该方法现在无法在IOS 13中使用。

即使通过OC的思想去做,它也行不通。

[searchBar setValue("Cancel", forKey: "_cancelButtonText")];
//not work in xcode

在Xcode中,有一种新的实现方法,

searchBar.showsCancelButton = YES;

[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitle:@"Cancel"];
//before IOS 9

[UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]].title = @"Cancel";
//after IOS 9

但是,在Xamarin中我们找不到方法,只能设置TintColor:

UIBarButtonItem.AppearanceWhenContainedIn(typeof(UISearchBar)).TintColor = UIColor.White;

Text中找不到属性UIBarButtonItem

然后我将其添加到GitHub Xamarin中的功能问题中。这是link,您可以继续进行。