Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSAlert适用于从右到左的语言(反向布局)_Objective C_Macos_Right To Left_Nsalert - Fatal编程技术网

Objective c NSAlert适用于从右到左的语言(反向布局)

Objective c NSAlert适用于从右到左的语言(反向布局),objective-c,macos,right-to-left,nsalert,Objective C,Macos,Right To Left,Nsalert,我想为从右到左的语言(如阿拉伯语和希伯来语)创建本地化的NSAlert 如何反转布局,使图标位于右侧,文本字段位于左侧,按钮也从警报的左侧开始 我似乎到处都找不到正确的答案 谢谢, N苹果公司有一套人机界面指南,对物品的订购和放置有一定的严格要求。例如,最有可能被触摸的按钮通常位于右侧 如果您觉得NSAlert的行为不合适,那么重新安排事情的最简单方法就是实现您自己的NSView定制,使其看起来像NSAlert。但如果苹果没有改变从右到左语言的顺序,那么你的大多数阿拉伯语和希伯来语客户都会希望他

我想为从右到左的语言(如阿拉伯语和希伯来语)创建本地化的NSAlert

如何反转布局,使图标位于右侧,文本字段位于左侧,按钮也从警报的左侧开始

我似乎到处都找不到正确的答案

谢谢,
N

苹果公司有一套人机界面指南,对物品的订购和放置有一定的严格要求。例如,最有可能被触摸的按钮通常位于右侧


如果您觉得NSAlert的行为不合适,那么重新安排事情的最简单方法就是实现您自己的NSView定制,使其看起来像NSAlert。但如果苹果没有改变从右到左语言的顺序,那么你的大多数阿拉伯语和希伯来语客户都会希望他们的按钮放在所有其他应用程序的按钮放置位置。也就是说,最有可能被触碰的按钮仍应位于右下角。

当您今天尝试时,您会得到什么?您可以编辑您的问题以显示屏幕截图吗?MacOS使用多种语言运行,包括阿拉伯语和希伯来语,因此我确信文本从右到左显示正确。不过,我认为按钮或图标不一定需要反转。文本正确对齐,但元素没有反转。我的问题是如何通过编程实现它?谢谢,我以前从未使用过这个,而且我对OSXAPI也没有经验,所以这是一个冒险。但我的想法是从
[[alert window]contentView]
获取子视图,将它们删除并添加到一些Order/layout中。但我不知道怎么做。我想这比使用与
NSAlert
中的参数完全相同的参数制作自己的
NSView
更容易。此外,当我迭代(NSView*视图在[[[alert window]contentView]子视图中]{NSLog(@“%d是%@”类型),I++,[view className]);}显示7个按钮(我添加了3个)和1个文本字段。此外,当我切换到阿拉伯语时,例如,所有OS X对话框都会反转(按钮从左侧开始,图像在右侧,文本字段在左侧)。我想对话框、警报和所有要使用的东西都应该有一些替代布局,但我似乎无法挖掘。应用程序对话框是反向的(因为,还是这些MacOS(即苹果控制的,MacOS拥有的)正确反转的对话框?这是有区别的…当然,所有的都是操作系统拥有的对话框。我看到其他应用程序也有反转的对话框,我想他们已经有了自己的观点,并将其插入到
NSAlert
和其他对话框中,但我不相信苹果不会提供一些API来轻松反转这些对话框ey首先翻转Ara和Heb的所有对话!感谢您的回答,我想除了制作自己的NSView并插入它而不是他们的NSView之外,没有其他方法了。