问题描述
我有一个iOS应用程序,专为支持iOS5.1而设计,我在搜索栏中自定义取消按钮。
I have an iOS application, built to support iOS5.1, and I was customizing the cancel button inside search bars.
我正在使用的代码和那个直到iOS6.1如下:
The code I'm using and that works until iOS6.1 is the following:
id barButtonAppearanceInSearchBar =
[UIBarButtonItem appearanceWhenContainedIn: [UISearchBar class], nil];
[barButtonAppearanceInSearchBar setTitle:
[self localizedStringValueFor:@"Cancel"]];
不知何故第二行会导致错误的访问异常, barButtonAppearanceInSearchBar 当我尝试设置按钮文本的值时,code>似乎被解除分配。
Somehow the second line will cause a bad access exception, the barButtonAppearanceInSearchBar
seems to be deallocated when I try to set the value for the button's text.
localizedStringForValue
是一个自定义方法,如果不存在转换,将返回带有所提供密钥或密钥本身的转换的String。
localizedStringForValue
is a custom method that will return a String with the translation for the provided key or the key itself if not translation exists.
现在,当我在iOS7'模拟器上运行应用程序时该应用程序总是崩溃。一直试图找出我做错了但到目前为止没有运气。
Now when I run the app on iOS7' simulator the app always crashes. Been trying to figure out what I'm doing wrong but no luck so far.
推荐答案
setTitle
不是支持方法。仅支持标有 UI_APPEARANCE_SELECTOR
的属性。
您必须在创建时手动设置标题 UISearchBar
。
You will have to set the title manually when you create the UISearchBar
.
这篇关于UISearchBar自定义代码在iOS7中崩溃,适用于iOS6的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!