Tag: 警报

在Swift中破解iOS警报

更新:添加了附件图像和附件视图🙂 大家好! 这是我的第一篇中篇文章,所以希望对此做出有趣的贡献。 😉 如果您使用过Swift和/或UIKit iOS框架,则可能曾经想过显示警报,并可能使用过UIAlertController 。 事实是,此类不是非常可定制的,您几乎不能更改其色调颜色,并且不能做更多的事情…… 因此,我开始研究如何使其变暗或更改字体……但是我意识到最好的方法就是制作自己的警报 。 话虽如此……与Apple私有API或内部值:D混在一起仍然真的很酷,因此,这只是一堆Swift’hacks’,很有趣,可以使UIAlertController更可定制。 发出上述警报的代码很简单: 但是什么是DarkAlertController? 只是CustomizableAlertController的子类。 如此简单, CustomizableAlertController具有视觉效果的属性,以及一些可以轻松更改标题和消息的文本属性的属性。 (您可以在github中查看完整的实现)。 您还可以像这样轻松更改警报背景: alert.contentView?.backgroundColor = .red 如何设置标题和消息文本属性? 只需使用KVC更改属性即可: 警报。 setValue (newValue,forKey:“ attributedTitle ”) 警报。 setValue (newValue,forKey:“ attributedMessage ”) 警报动作归因于文本? 有点棘手; 您首先需要标签,然后使用attributedText属性: var标签:UILabel? { 回报(自我。 值 ( forKey :“ __representer ”)为? NSObject)? 。 值 ( forKey :“ label ”)为? UILabel } […]

在iOS中请求权限警报

iOS 10.0或更高版本上的iOS应用程序必须在其Info.plist文件中包括其需要访问或使用的数据类型的使用情况描述键,否则应用程序将崩溃。 即,要专门访问联系人数据,必须包含NSContactsUsageDescription。 iOS有助于防止应用程序未经许可访问用户的个人信息。 当我们第一次打开该应用程序,然后又看到背对背的几个用户请求权限时,我们可能会点击“不允许”。 首次获得访问权限至关重要,我们必须使用正确的方法向用户询问权限,并通过授予应用访问权限来向用户说明他们将获得的好处。 在plist文件中添加这些键和描述 iOS中的权限键 隐私权-AppleEvents发送使用情况说明 – 使用Apple事件控制另一个应用程序的应用程序可能能够访问敏感的用户数据。 例如,邮件应用程序在其本地数据库中存储了许多其他应用程序无法直接访问的个人信息。 但是因为Mail可以通过Apple事件自动执行,所以其他应用程序可以使用Mail间接访问数据。 如果您的应用程序使用发送Apple事件的API,则此密钥是必需的。 2.隐私权-蓝牙外围设备使用说明 3.隐私-日历使用说明 4.隐私权-相机使用说明 5.隐私-联系人使用说明 6.隐私权-人脸ID用法说明 7.隐私-健康记录使用说明 8.隐私-健康共享使用说明 9.隐私-运行状况更新使用说明 10.隐私-HomeKit使用说明 11.隐私权–始终和使用时的位置使用说明 12.隐私-位置始终使用说明 -当应用在使用中或在后台时,该应用可以访问设备的位置。 13.隐私权-位置使用说明 14.隐私权-使用时的位置使用说明 -使用该应用程序时,可以访问该设备的位置。 15.隐私权-媒体库使用说明 16.隐私权-麦克风使用说明 17.隐私-运动用法说明 18.隐私权-音乐使用说明 19.隐私-NFC扫描使用说明 -近场通信(NFC)标签扫描 20.隐私权—照片库添加用法说明 21.隐私权—照片库使用说明 22.隐私-提醒使用说明 23.隐私权-Siri使用说明 24.隐私-语音识别用法说明 25.隐私-系统管理用法说明 -如果您的应用使用操纵系统配置的API,则此密钥为必填项。 26.隐私权—电视提供商的使用说明 27.隐私权—视频订户帐户使用说明 -如果您的应用使用访问用户电视提供商帐户的API,则此密钥为必填项。 然后看起来像 上述权限的一些样本值 权限警报标题由操作系统管理,但我们必须在请求中提供描述。 我已经为我们收集了一些示例消息,请单击以下链接查看 请也看看这个。

在iOS中发出警报

这是 我在Stack Overflow上写的答案的转贴 。 警报对于向用户显示消息以及有选择地给予他们响应的机会很有用。 在iOS中,我们使用UIAlertController来执行此操作。 这等效于Android AlertDialog(或Flutter AlertDialog)。 下面的示例显示一个,两个和三个按钮的基本设置。 一键式 class ViewController: UIViewController { @IBAction func showAlertButtonTapped(_ sender: UIButton) { // create the alert let alert = UIAlertController(title: “My Title”, message: “This is my message.”, preferredStyle: UIAlertController.Style.alert) // add an action (button) alert.addAction(UIAlertAction(title: “OK”, style: UIAlertAction.Style.default, handler: nil)) // show the alert self.present(alert, animated: […]

警报控制器的最佳实践🚨

嘿! 让我们美化警报控制器🤓。 我们将创建警报控制器,并尝试尽可能地对其进行清理。 让我们潜入 当我需要在我的应用程序中使用警报时 ,我便开始像以前一样创建警报 。 您可能对此很熟悉。 可以,但是如果您的应用需要多个警报,该怎么办? 🧐 答:复制并粘贴,更改字符串即可。感谢您再见👋🏻 是的,它将起作用work 但是,如果您的应用程序需要多个警报和DRY(请勿重复自己)代码,该怎么办? 嗯? 然后世界变了🙃 我们可以从创建一个函数开始,让我们尝试 现在,您可以在需要调用该警报时调用myAlertVC()方法,但是这里的问题是您无法更改将显示与myAlertVC()调用的警报相同的警报的字符串。 让我们向myAlertVC()函数添加一些功能,以便我们可以更改字符串。 这就是您如何调用此方法myAlertVC(title: “Hello!”, message: “Wazzup?”, actionTitle: “OK”) 真好! 每当需要显示新警报时,都可以调用此方法。 但是仍然不是最好的选择。 你只能叫它 在当前的ViewController上。 对于其他UIViewController子类,我们需要创建新函数,如上面的函数。 别忘了你不应该重复自己 因此,我们还需要诸如全局函数之类的东西,以便我们可以在任何UIViewController子类上调用它。 让我们尝试为警报创建一个新类 我们on vc: UIViewController参数on vc: UIViewController添加on vc: UIViewController参数,因为我们需要在调用此方法的视图控制器上显示它。 现在,您可以转到视图控制器并创建MyAlertController的实例 let myAlertController = MyAlertController() 现在您可以调用myAlertController的方法 好的,我们现在出发了,我们有警报控制器的特殊类。 同一类more上不再有代码垃圾。 让我们看看是否可以进一步删除一些代码并清理视图控制器。 我们可以删除字符串并在MyAlertController类上为每个警报创建函数 现在,您可以在我们的视图控制器上调用showErrorMessage(…)函数。 myAlertController.showErrorMessage(on: self) 凉! 从现在开始,您可以在任何UIViewController子类use上使用它。 […]