在 RTL 语言中使用 viewDidLoad 时,UIStackView 不会反转

UIStackView not reversed when viewDidLoad in RTL language

我在 Storyboard 中有一个 UIStackView,其结构如下,我想将它滚动到 viewDidLoad 中的特定按钮。

这就是我滚动它的方式。

[self.scrollView scrollRectToVisible:button.frame animated:YES];

问题是,当系统语言设置为RTL语言(如阿拉伯语)时,UIStackView的方向和button.frame在viewDidLoad中仍然是从左到右,所以滚动位置不正确。

我应该怎么做才能解决这个问题?

如您所见,框架设置未在 viewDidLoad 中完成。

将该代码移至 viewDidAppear:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [self.scrollView scrollRectToVisible:button.frame animated:YES];
}