gpt4 book ai didi

c# - Xamarin.Forms (iOS) - 如何更改 SearchBar "Cancel"按钮的文本?

转载 作者:行者123 更新时间:2023-11-30 20:29:46 26 4
gpt4 key购买 nike

我们正在国际化我的团队正在开发的一个移动应用程序,我注意到 SearchBar 中的“取消”按钮没有翻译(其他一切都翻译得很好)——无论我使用什么语言,它总是用英语显示“取消”将 iPad 模拟器更改为。如果我可以自己设置文本,那么我可以确保它正确地国际化。所以……

如何更改 Xamarin.Forms SearchBar 上的“取消”按钮文本?我试过自定义渲染器,但很难定位取消按钮 subview 。 This answer似乎很好地解释了如何在 Objective C 中执行此操作,但我无法在 Xamarin.Forms 框架内将其转换为 C#。

最佳答案

创建一个新的 custom renderer适用于 iOS。类似于 CustomSearchBarRenderer 和 Xamarin 原始 SearchBarRenderer 的子类

public class CustomSearchBarRenderer : SearchBarRenderer { }

我可能会尝试覆盖 OnElementChanged 方法并在基类完成所有工作后设置自定义标题。像这样:

protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
{
base.OnElementChanged(e);

var cancelButton = Control.FindDescendantView<UIButton>();
cancelButton.Title = "Whatever";
}

编辑:请注意,cancelButton 可能会在某个时间点重新创建,因此您可能还必须在其他时间点设置标题。但是,这应该是一个很好的起点。

您还可以查看当前的 SearchBarRenderer 实现 here .

关于c# - Xamarin.Forms (iOS) - 如何更改 SearchBar "Cancel"按钮的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45762279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com