【发布时间】:2014-05-17 22:12:30
【问题描述】:
我正在使用 NSLocalizableStringFromTable 来设置我的用户界面的各个组件的文本。当文本长于界面构建器中的占位符文本时,我遇到了 UIButtons 的问题。下面是一个比较英语和西班牙语“保存”按钮的示例:
当我使用 NSLog 检查 _theSaveButton 的值时,我得到了
_theSaveButton.titleLabel = "保存"
_theSaveButton.currentTitle = "Guardar"
我曾尝试使用 [_theSaveButton sizeToFit],但这似乎总是调整为 titleLabel 而不是 currentTitle。
这是一个快速的代码 sn-p:
[_theSaveButton setAttributedTitle:nil forState:UIControlStateNormal];
[_theSaveButton setTitle:NSLocalizedStringFromTable(@"Save", applicationLanguage,nil) forState: UIControlStateNormal];
NSLog(@"%@",_theSaveButton.currentTitle);
NSLog(@"%@",_theSaveButton.titleLabel);
[_theSaveButton sizeToFit];
第一行:我在这里包含了 setAttributedTitle:nil 元素,因为我在其他地方看到这解决了其他人的问题,但据我所知,它只是为了娱乐。
第二行:setTitle 方法似乎正确设置了 currentTitle,并且 UI 上的文本发生了变化,如上所示。
所以,最后,我只希望按钮调整大小以处理本地化标题。
其他说明:
- 我正在使用自动布局。我尝试设置宽度约束。目前,我只对后缘和垂直有限制。没有什么应该限制宽度。
- 我尝试在界面构建器中将文本更改为很长的内容,但这没有任何影响。
【问题讨论】:
标签: ios objective-c uibutton