使UIPageControl在iOS 8和9中以从右到左的语言运行相同

Evg*_*nii 4 xcode right-to-left ios

我希望UIPageView控件突出显示最右边的点,当它的currentPage属性为零时,从阿拉伯语到从右到左的语言.

iOS 9中的第一页:

在此输入图像描述

它在iOS 9中的开箱即用,所以我不需要做任何事情.但是在iOS 8中,它显示左侧突出显示的点,这对于使用从右到左语言的人来说可能会让人感到困惑.

iOS 8的第一页:

在此输入图像描述

问题:有没有办法让UIPageControl突出显示iOS 8中从右到左语言的第一页最右边的点?我想在iOS 8和iOS 9中运行应用程序时实现一致的行为.

Noa*_*oon 7

可能最简单的方法是翻转控件的视图:

pageControl.transform = CGAffineTransformMakeScale(-1, 1);
Run Code Online (Sandbox Code Playgroud)

  • ````if (![pageControl RespondsToSelector:@selector(semanticContentAttribute] && [UIApplication sharedApplication].userInterfaceLayoutDirection == UIUserInterfaceLayoutDirectionRightToLeft) { pageControl.transform = CGAffineTransformMakeScale(-1, 1); }```` (2认同)

len*_*vet 5

iOS 9包含对RTL语言的重要UI更改.虽然翻转页面控件以获得一致的体验可能很容易,但是应用程序的其余部分呢?仅翻转页面控件是没有意义的,而为iOS 8用户翻转UI的其余部分相当于重新实现UIKit中的所有RTL支持 - 这是一项难以完全正确完成的重大任务.

我建议只是咬紧牙关,只关注iOS 9.如果你想继续支持旧的操作系统,那很好,但是没有必要尝试为它们复制一个完全翻转的UI.iOS 9支持与iOS 8相同的所有硬件,用户将在升级时获得翻转的UI.