RangeSeekSlider должен начинаться справа налево, если язык арабский - PullRequest
0 голосов
/ 16 мая 2019

Я использую RangeSeekSlider для отображения слайдера в моем приложении.В нормальном случае, т.е. для всех языков LTR (слева направо), он работает отлично.Но при работе с такими языками, как арабский, которые требуют, чтобы ползунок начинался справа налево, то есть противоположно нормальному, он не работает для меня.

Для справки я пробовал следующий фрагмент кода, но он не работалдля меня

@IBOutlet weak var sliderAmount: RangeSeekSlider!

override func viewDidLoad() {
    super.viewDidLoad()

    if AppUtils.checkIfArabic() == true{
        sliderAmount.semanticContentAttribute = .forceRightToLeft
    }else{
        self.sliderAmount.semanticContentAttribute = .forceLeftToRight
    }
    // Do any additional setup after loading the view.
}

Ниже приведен скриншот обычного слайдера, который настроен с использованием кода ниже

//MARK:- Setup Slider View

func setupSliderView(){
    sliderAmount.disableRange = true
    sliderAmount.enableStep = true
    sliderAmount.step = 500
    sliderAmount.delegate = self
    sliderAmount.minValue = 500.0
    lblAmt.text = "500"
    sliderAmount.maxValue = 25000.0
    sliderAmount.handleImage = UIImage(named: "ic_SliderHandler")
    sliderAmount.handleDiameter = 35.0
    sliderAmount.lineHeight = 7.0
    sliderAmount.hideLabels = true
    sliderAmount.tintColor = UIColor(displayP3Red: 235/255, green: 235/255, blue: 235/255, alpha: 1.0)
    sliderAmount.colorBetweenHandles = UIColor(displayP3Red: 135/255, green: 102/255, blue: 123/255, alpha: 1.0)
}

Токовый выход:

enter image description here

TIA.

1 Ответ

0 голосов
/ 22 мая 2019

Решил проблему, используя следующий фрагмент кода

if L102Language.currentAppleLanguage() == "ar" { //Arabic
        UIView.animate(withDuration: 0.1) {
            self.sliderAmount.transform = CGAffineTransform(scaleX: -1, y: 1);
        }
    }

Итак, вывод сейчас такой,

enter image description here

...