Невозможно вернуть мой кадр uipickerview в исходную форму после его поворота (горизонтальный uipickerview) - PullRequest
0 голосов
/ 13 июля 2020

Я увидел много вопросов о горизонтальных uipickerviews и решил реализовать это. Я могу легко повернуть мое окно выбора, используя listPicker.transform = CGAffineTransform(rotationAngle: -90 * (.pi/180) ), но после этого я не могу настроить кадр, чтобы он вернулся в исходную форму. ниже - исходная рамка перед ее вращением, я бы хотел сдвинуть вправо this is the original frame before rotating it i would like to be able to slide right

and this is the frame after rotating it and trying to set the frame back to its original form but it's not working введите описание изображения здесь

и вот мой исходный код, если кто-нибудь знает, как решить эту

        listPicker.translatesAutoresizingMaskIntoConstraints = false
    listPicker.leadingAnchor.constraint(equalTo: self.leadingAnchor, constant: 20).isActive = true
    listPicker.trailingAnchor.constraint(equalTo: self.trailingAnchor, constant: -20).isActive = true
    listPicker.topAnchor.constraint(equalTo: self.topAnchor, constant: 5).isActive = true
    listPicker.heightAnchor.constraint(equalToConstant: 50).isActive = true
    let originalFrame = listPicker.frame

    listPicker.transform = CGAffineTransform(rotationAngle: -90 * (.pi/180) )
    listPicker.frame = originalFrame

    func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
    return 40
}
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
    let view = UIView(frame: CGRect(x: 0, y: 0, width: 80, height: 40))
    let listLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 80, height: 40))
    listLabel.textAlignment = .center
    listLabel.font = UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.medium)
    view.addSubview(listLabel)
    listLabel.text = list[row]
    view.transform = CGAffineTransform(rotationAngle: 90 * (.pi/180))

    return view
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...