【问题标题】:How can I insert images next to text inside a UIActionSheet?如何在 UIActionSheet 中的文本旁边插入图像?
【发布时间】:2019-08-21 23:09:08
【问题描述】:

我试图在 Xamarin.ios 应用程序中创建 UIActionSheet,其中每一行都有一个图像和文本。有没有办法做到这一点?

我已按照 Alnc Liu 在此链接中提供的示例进行操作: For "actionSheetAlert", what's after (action) =>.

然而,这只是文本。如何用图像+字符串的组合替换字符串?

附上屏幕截图以阐明要求...需要添加自定义图像来代替所有这些笑脸。

谢谢。

【问题讨论】:

  • 感谢您的建议。我很欣赏时间和代码示例,但不幸的是,这些 Swift API 在 C# xamarin.ios 中没有一对一的替代方案。如果有办法在 C# 中完成它,那就太好了。

标签: ios uiview xamarin.ios uiactionsheet uiactionsheetdelegate


【解决方案1】:

这对于股票 UIAlertController/UIAlertAction 是不可能的。您需要创建一个自定义视图控制器才能获得此功能。

【讨论】:

    【解决方案2】:

    UIActionSheet 并非设计为子类化,也不应将视图添加到其层次结构中。如果您需要呈现比 UIActionSheet API 提供的自定义更多的表单,您可以创建自己的表单并使用 present(_:animated:completion:) 以模态方式呈现它。

    重要提示:UIActionSheet 在 iOS 8 中已弃用。(注意 UIActionSheetDelegate 也已弃用。)Source

    【讨论】:

      【解决方案3】:

      我使用Alert and Picker from dillidon 进行基本实现,该库包含很多选项供您选择。对于库不支持的更多自定义,我倾向于创建自己的控制器。

      【讨论】:

        【解决方案4】:

        可以通过覆盖警报操作的属性之一(不使用外部库)。我通过以下代码实现了同样的目标:

              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)
        

        给你。 希望对您有所帮助。

        【讨论】:

        • 感谢您的建议。不幸的是,这些 API 在 C# xamarin.ios 中没有一对一的替代方案。如果有办法在 C# 中完成它,那就太好了。谢谢。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-26
        • 1970-01-01
        • 2021-05-06
        • 1970-01-01
        • 2016-08-17
        • 2021-07-20
        • 2022-08-18
        相关资源
        最近更新 更多