Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 有没有办法使UIAlertController的所有按钮/操作中的文本变为粗体?_Ios_Swift - Fatal编程技术网

Ios 有没有办法使UIAlertController的所有按钮/操作中的文本变为粗体?

Ios 有没有办法使UIAlertController的所有按钮/操作中的文本变为粗体?,ios,swift,Ios,Swift,我有一个要求,UIAlertController的按钮中的文本对于每个按钮都应设置为粗体(与标准的iOS行为相反,标准的iOS行为是指定样式取消的按钮为粗体,或者为其设置了preferredAction的按钮为粗体。要求是所有按钮文本都应为粗体) 有没有办法使用UIAlertController来实现这一点?或者我将被迫使用UIView创建自定义对话框 过去有很多关于使用属性字符串操纵UIAlertController的正文文本的问题/答案,但我没有找到任何方法可以对UIAlertControl

我有一个要求,UIAlertController的按钮中的文本对于每个按钮都应设置为粗体(与标准的iOS行为相反,标准的iOS行为是指定样式取消的按钮为粗体,或者为其设置了preferredAction的按钮为粗体。要求是所有按钮文本都应为粗体)

有没有办法使用UIAlertController来实现这一点?或者我将被迫使用UIView创建自定义对话框


过去有很多关于使用属性字符串操纵UIAlertController的正文文本的问题/答案,但我没有找到任何方法可以对UIAlertController的操作按钮的文本进行等效操作。

UIAlertController上的按钮属于
UIAlertAction
UIAlertAction
的任何属性上都没有可用的setter方法,因此无法将按钮文本更改为粗体

即使
title
必须是
String
类型,它也不接受
nsattributestring
。因此,应该使用UIView使用自定义对话框

UIAlertAction的苹果类参考:

@available(iOS 8.0, *)
open class UIAlertAction : NSObject, NSCopying {

    public convenience init(title: String?, style: UIAlertActionStyle, handler: ((UIAlertAction) -> Swift.Void)? = nil)

    open var title: String? { get }

    open var style: UIAlertActionStyle { get }

    open var isEnabled: Bool
}

UIAlertController
上的按钮属于
UIAlertAction
UIAlertAction
的任何属性上都没有可用的setter方法,因此无法将按钮文本更改为粗体

即使
title
必须是
String
类型,它也不接受
nsattributestring
。因此,应该使用UIView使用自定义对话框

UIAlertAction的苹果类参考:

@available(iOS 8.0, *)
open class UIAlertAction : NSObject, NSCopying {

    public convenience init(title: String?, style: UIAlertActionStyle, handler: ((UIAlertAction) -> Swift.Void)? = nil)

    open var title: String? { get }

    open var style: UIAlertActionStyle { get }

    open var isEnabled: Bool
}
或者我将被迫使用UIView创建自定义对话框

是的,就是这样。但它非常简单,并且比UIAlertController提供了更多的功能和灵活性。有很多示例项目,一旦你使用了一个,你可能再也不会回到UIAlertController了

或者我将被迫使用UIView创建自定义对话框


是的,就是这样。但它非常简单,并且比UIAlertController提供了更多的功能和灵活性。有很多示例项目,一旦你使用了一个,你可能再也不会回到UIAlertController了

我感觉到你的痛苦。我一直希望系统生成的警报将使用一些无法在应用程序中复制的东西,以便uialertview稍微打开一点。(我必须做一个自定义的来满足您的要求)我认为这样做可能会奏效,但没有.UILabel.appearance(当包含[UIAlertController.self]实例时)。font=UIFont.boldSystemFont(大小:14)似乎无法再为UILabel设置外观属性。看,我感觉到了你的痛苦。我一直希望系统生成的警报将使用一些无法在应用程序中复制的东西,以便uialertview稍微打开一点。(我必须做一个自定义的来满足您的要求)我认为这样做可能会奏效,但没有.UILabel.appearance(当包含[UIAlertController.self]实例时)。font=UIFont.boldSystemFont(大小:14)似乎无法再为UILabel设置外观属性。看见