Изменить поведение встраивания UIScrollview в UIAlertController - PullRequest
0 голосов
/ 26 июня 2019

Иногда мне приходится представлять оповещение с большим количеством контента и несколькими кнопками (действиями).Когда это происходит, раздел с содержимым и раздел с кнопками (действиями) оба вкладываются или встраиваются в UIScrollView, чтобы можно было получить доступ ко всему содержимому, что удивительно.

Что я хотел бы сделать, так этосделайте так, чтобы кнопки (действия) никогда не вкладывались в представление прокрутки или, по крайней мере, высота этого представления прокрутки никогда не опускалась ниже размера контента.Мне не нравится, когда в предупреждении не отображаются все кнопки (действия).

This is far too crowded.

Третья кнопка (действие) даже не виднаи я не хочу, чтобы пользователю приходилось прокручивать крошечное поле, чтобы перейти к одной из нескольких кнопок.Я бы предпочел, чтобы контент становился прокручиваемым, когда оповещение становится слишком большим.

Кто-нибудь знает, как этого добиться?

Редактировать:

Я пытался использовать стиль листа действий, и хотя он освободил больше места и облегчил проблему, он не решил ее: Wider, but buttons are still obscured

Редактировать:

Неудачная попытка хакерства:

        let message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
        let customSizedAlertMessage = UITextView()
        customSizedAlertMessage.layer.borderWidth = 0
        customSizedAlertMessage.backgroundColor = .clear
        customSizedAlertMessage.isEditable = false
        let messageText = message.getAttributedString(with: NSTextAlignment.left)
        customSizedAlertMessage.attributedText = messageText
        let alert = UIAlertController(title: "Check out?", message: nil, preferredStyle: .actionSheet)
        alert.view.addSubview(customSizedAlertMessage)
        customSizedAlertMessage.sizeToFit()
        alert.updateViewConstraints()
        alert.addAction(
            UIAlertAction(
                title: "Confirm Order, Submit Now",
                style: .destructive
                )
            { action in
                self.attemptOrderSubmission(true)
            }
        )//end alert.addAction

        alert.addAction(
            UIAlertAction(
                title: "Confirm Order, Add To Submission Queue",
                style: .destructive
                )
            { action in
                self.attemptOrderSubmission(false)
            }
        )//end alert.addAction
        alert.addAction(
            UIAlertAction(
                title: "Make Changes",
                style: .default
            )
        )

Результат:

Doesn't appear inside alert, covers alert

...