Я пытался создать UIActionSheet в приложении Xamarin.ios, где в каждой строке есть изображение и текст. Есть ли способ, которым мы могли бы сделать это?

Я следил за образцом, предоставленным Аланком Лю по этой ссылке: Для «actionSheetAlert», что будет после (action) =>.

Это всего лишь текст, однако. Как я могу заменить строку комбинацией image + string?

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

Спасибо.

enter image description here

0
Stout 22 Авг 2019 в 02:09

4 ответа

Лучший ответ

Это невозможно с запасом UIAlertController / UIAlertAction. Вам нужно будет создать собственный контроллер представления, чтобы получить эту функциональность.

1
AdamPro13 22 Авг 2019 в 00:43

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

      let actionsheet = UIAlertController.init(title: "Select party", message: nil, preferredStyle: .actionSheet)
        let actn1 = UIAlertAction.init(title: "Party 1", style: .default, handler: { (act) in
            //
        })
        actn1.setValue(UIImage(named: "String"), forKey: "image")
        actionsheet.addAction(actn1)
      self.present(actionsheet, animated: true, completion: nil)

И вот, пожалуйста. Надеюсь, это поможет вам.

0
khush 22 Авг 2019 в 06:34

UIActionSheet не предназначен для подклассов, и вы не должны добавлять представления в его иерархию. Если вам нужно представить лист с большей настройкой, чем предусмотрено API-интерфейсом UIActionSheet, вы можете создать свой собственный и представить его модально с присутствующим (_: animated: завершение :).

Важное замечание: UIActionSheet не рекомендуется в iOS 8. (Обратите внимание, что UIActionSheetDelegate также не рекомендуется.) Источник

1
Adobels 23 Авг 2019 в 16:09

Я использовал Alert and Picker из dillidon для базовых реализаций, библиотека много упаковывает вариантов для вас на выбор. Для дополнительных настроек, которые не поддерживаются библиотекой, я стараюсь создать свой собственный контроллер.

0
Joshua 22 Авг 2019 в 01:04