ios – 带有swift的自定义警报(UIAlertView)

ios – 带有swift的自定义警报(UIAlertView),第1张

概述如何使用 Swift创建自定义警报?我尝试从Objective c翻译指南但加载全屏布局 为了方便我可以加载透明背景的新布局我试试这个: listaalertviewcontroller.view.backgroundColor = UIColor.clearColor() let purple = UIColor.purpleColor() // 1.0 alpha let se 如何使用 Swift创建自定义警报?我尝试从Objective c翻译指南但加载全屏布局

为了方便我可以加载透明背景的新布局我试试这个:

ListaalertvIEwcontroller.vIEw.backgroundcolor = UIcolor.clearcolor()    let purple = UIcolor.purplecolor() // 1.0 Alpha    let semi = purple.colorWithAlphaComponent(0.5)    ListaalertvIEwcontroller.vIEw.backgroundcolor = semi    presentingVIEwController.modalPresentationStyle = UIModalPresentationStyle.CurrentContext    self.presentVIEwController(ListaalertvIEwcontroller,animated: true,completion: nil)

在动画中它是透明的,但是当动画结束时它是不透明的……我在视图中关闭了不透明的选项……我做错了什么?

解决方法 代码在Swift 5和Xcode 10中测试过

如何制作自己的自定义提醒

我想做类似的事情.首先,UIAlertVIEw不赞成使用UIAlertController.有关显示警报的标准方法,请参阅此答案:

> How would I create a UIAlertView in Swift?

UIAlertVIEw和UIAlertController都不能真正实现太多自定义.一种选择是使用一些第三方代码.但是,我发现通过显示另一个视图控制器modaly创建自己的警报并不困难.

这里的例子只是一个概念验证.您可以按照自己的方式设计警报.

故事板

你应该有两个视图控制器.您的第二个视图控制器将是您的警报.将类名设置为AlertVIEwContoller,并将Storyboard ID设置为警报. (这些都是我们在下面的代码中定义的名称,没有什么特别之处.如果需要,可以先添加代码.如果先添加代码,实际上可能会更容易.)

将根视图(在警报视图控制器中)的背景颜色设置为清除(或半透明黑色适用于警报).添加另一个UIVIEw并使用约束来居中.使用它作为你的警报背景,并把你想要的东西放在里面.在我的例子中,我添加了一个UIbutton.

VIEwController.swift

import UIKitclass VIEwController: UIVIEwController {    @IBAction func showAlertbuttonTapped(_ sender: UIbutton) {        let storyboard = UIStoryboard(name: "Main",bundle: nil)        let myAlert = storyboard.instantiateVIEwController(withIDentifIEr: "alert")        myAlert.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext        myAlert.modalTransitionStyle = UIModalTransitionStyle.crossdissolve        self.present(myAlert,completion: nil)    }}

AlertVIEwController.swift

import UIKitclass AlertVIEwController: UIVIEwController {    @IBAction func dismissbuttonTapped(_ sender: UIbutton) {        self.dismiss(animated: true,completion: nil)    }}

不要忘记连接插座.

您可以将ontouchUp事件侦听器添加到后台视图,以在用户单击其外部时关闭该d出窗口.

而已.你应该能够做出任何你能想象到的警报.不需要第三方代码.

这是我做的另一个自定义警报.仍然很难看,但它显示了你可以做的更多事情.

其他选择

但有时候没有必要重新发明轮子.我对第三方项目SDCAlertView(麻省理工学院许可证)印象深刻.它是用Swift编写的,但您也可以将它与Objective-C项目一起使用.它提供广泛的可定制性.

总结

以上是内存溢出为你收集整理的ios – 带有swift的自定义警报(UIAlertView)全部内容,希望文章能够帮你解决ios – 带有swift的自定义警报(UIAlertView)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1019808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存