I'm trying to figure out how to change font type for UIAlertAction title. I'm assuming, it can be done by setting a value for particular key. For instance, to set an image you would do this:
action.setValue(image, forKey: "image")
Is there a list of all keys that are available? I can't figure out which key to use for changing font, aligning the title left/right, etc...
class_copyIvarList
may be what you need.
extension UIAlertAction {
static var propertyNames: [String] {
var outCount: UInt32 = 0
guard let ivars = class_copyIvarList(self, &outCount) else {
return []
}
var result = [String]()
let count = Int(outCount)
for i in 0..<count {
let pro: Ivar = ivars[i]
guard let ivarName = ivar_getName(pro) else {
continue
}
guard let name = String(utf8String: ivarName) else {
continue
}
result.append(name)
}
return result
}
}
then
print(UIAlertAction.propertyNames)
and the output is
["_title", "_titleTextAlignment", "_enabled", "_checked", "_isPreferred", "_imageTintColor", "_titleTextColor", "_style", "_handler", "_simpleHandler", "_image", "_shouldDismissHandler", "__descriptiveText", "_contentViewController", "_keyCommandInput", "_keyCommandModifierFlags", "__representer", "__interfaceActionRepresentation", "__alertController"]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With