如何创建带有希伯来语文本的 UIButton?

Posted

技术标签:

【中文标题】如何创建带有希伯来语文本的 UIButton?【英文标题】:How can create a UIButton with Hebrew language text? 【发布时间】:2013-12-03 19:04:42 【问题描述】:

问题: 我在按钮中设置的文本(希伯来语)显示相反。

例如:

      NSString *title = @"עמוד הבית"; //This is right-to-left
      UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
      [button setTitle:title forState:UIControlStateNormal];

所以: 在我的模拟器中,我看到:

//This is left-to-right

如何解决?

如何正确显示文字?

应用支持 iOS 6 和 iOS 7

【问题讨论】:

什么意思?不是那是相关的。看起来与您向后输入的内容相同。 它被颠倒了,因为希伯来语是一种从右到左的语言。您应该使用本地化的 .strings 文件。 我可能错了,但我认为从右到左的语言不会“镜像”每个字符(如模拟器输出所示)。 - 你确定转换矩阵没有在某处修改吗?拉丁字符是否正确显示? @Vit:请发布您的解决方案(作为答案)。 对不起我的大错误;我将此按钮放在 Scroller 中,但在完成之前 _scrollView.transform = CGAffineTransformMakeScale(-1, 1); 【参考方案1】:

使用 UIButton 时对我有用的是:

if ([UIView userInterfaceLayoutDirectionForSemanticContentAttribute:button.semanticContentAttribute] == UIUserInterfaceLayoutDirectionRightToLeft)

    button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;

值得阅读的链接:

Supporting Right-to-Left Languages (Apple Reference)

AutoLayout + RTL + UILabel text alignment

【讨论】:

【参考方案2】:

如果您使用“#x200F”来解决您的问题,请将其添加为附加字符串。有一个问题是添加后会附带所有内容,这很奇怪,如果您知道答案。请分享

【讨论】:

这是从右到左的标记 (RLM):en.wikipedia.org/wiki/Right-to-left_mark

以上是关于如何创建带有希伯来语文本的 UIButton?的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局创建带有文本和图像的 iOS 7 UIButton

如何在 Xcode 4 中正确创建调整为文本长度的 UIButton?

如何根据需要调整背景图像的大小

Closed:: 创建一个带有滑动和点击手势的 UIButton 水平轮播

当文本是希伯来语时,无法构造 PostgreSQL 数组文字

创建带有文本字段的 Material Ui 复选框