【发布时间】:2019-03-14 23:07:45
【问题描述】:
我在 IB 中创建了一些 UILabel。像这样在界面生成器中设置文本
Settings
当我启动应用程序时,文本变为
SETTINGS
问题是为什么?我的 Storyboard 未本地化。我没有为这些 UILabel 做任何额外的设置。这是一个明确的 UILabel 类,没有任何子类或类别。
【问题讨论】:
标签: objective-c xcode uilabel
我在 IB 中创建了一些 UILabel。像这样在界面生成器中设置文本
Settings
当我启动应用程序时,文本变为
SETTINGS
问题是为什么?我的 Storyboard 未本地化。我没有为这些 UILabel 做任何额外的设置。这是一个明确的 UILabel 类,没有任何子类或类别。
【问题讨论】:
标签: objective-c xcode uilabel
可能启用了自动更正或自动大写。
试试这个:
目标-C:
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
textField.autocorrectionType = FALSE; // or use UITextAutocorrectionTypeNo
textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
}
斯威夫特:
func textFieldDidBeginEditing(textfield : UITextField)
{
textField.autocorrectionType = .No
textField.autocapitalizationType = .None
textField.spellCheckingType = .No
}
斯威夫特 3:
func textFieldDidBeginEditing(_ textField : UITextField)
{
textField.autocorrectionType = .no
textField.autocapitalizationType = .none
textField.spellCheckingType = .no
}
如果它仍然不起作用,请检查您的 Mac 和手机是否已打开自动大写。
在 Mac 中:
在 iOS 中:
设置>常规>键盘>自动大写
【讨论】:
那是因为故事板的本地化,当我问这个问题时我没有意识到这一点。您必须在每种支持的语言上本地化您的故事板,或者完全从故事板中删除本地化。
所以流程是这样的。
您为此标签设置了一些文本
一个。如果您的情节提要未本地化,一切都会按预期进行
b.如果您的故事板已本地化,但在某些本地化中您没有适当的资源,它将自动大写此字符串。
【讨论】: