更改interactivePopGestureRecognizer方向(Change interac

2019-09-29 04:58发布

我的应用程序支持英语和阿拉伯语。 interactivePopGestureRecognizer使用英语时,即在刷卡从左至右正常工作,它会弹出的viewController。 但是,当我使用阿拉伯语,我已经改变了semanticContentAttribute从右到左。

if([[[NSUserDefaults standardUserDefaults] objectForKey:@"LanguageCode"] isEqualToString:@"en"])
    {
        [[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceLeftToRight];       //View for English language
    }
    else
    {
        [[UIView appearance] setSemanticContentAttribute:UISemanticContentAttributeForceRightToLeft];       //mirror view for Arabic language
    }

interactivePopGestureRecogniser仍然是左到右。 我怎样才能改变方向interactivePopGestureRecogniser使得它支持阿拉伯语? 我想从右向左滑动,使用阿拉伯语弹出视图控制器。

Answer 1:

大量的试验后,唯一的解决方案为我是这样的:

斯威夫特3:

extension UIViewController {
    open override func awakeFromNib() {
        super.awakeFromNib()
        navigationController?.view.semanticContentAttribute = .forceRightToLeft
        navigationController?.navigationBar.semanticContentAttribute = .forceRightToLeft
    }
}

您可以排除某些类型,如语义属性:

UIView.appearance(whenContainedInInstancesOf: [UITableViewCell.self]).semanticContentAttribute = .forceLeftToRight


文章来源: Change interactivePopGestureRecognizer direction