问题标签 [uialertaction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 是否应该在 UIAlertAction 的处理程序中将 self 捕获为强?
在编写handler
a 的闭包时UIAlertAction
,引用应该self
是强(默认)weak
、还是unowned
?
已经有与该主题相关的帖子(1、2、3、4),但老实说,我看不出它们在这种情况下有何帮助。
让我们关注这个典型的代码:
UIViewController
这是子类中的一个函数,self
呈现警报的视图控制器也是如此。
文档说:
使用弱引用来避免引用循环,只要该引用在其生命周期的某个时间点可能“没有价值”。如果引用总是有值,请改用无主引用。
我可能是盲人,但我仍然不明白这对回答我的问题有何帮助UIAlertAction
。
在上面的代码中,是否有可能在其生命中的某个时刻self
为零?是的。所以我应该标记为。self
weak
但是话又说回来,我想不出一个合理的场景,self
当调用闭包时会为零。因此,就该闭包而言,self
将始终具有 value。所以我应该标记self
为unowned
。
那么,再次,应该如何self
在 UIAlertAction 的处理程序中捕获?
ios - 使用动态项获取 UIAlertAction 的选择索引
我正在建立一个动态的动作列表。当按下一个动作时,我想跳到表格视图中的一个部分。为此,我想知道操作的选定索引并将其替换为代码部分:“inSection:0”。有什么办法吗?
这是我的代码:
ios - 从 UIAlertAction 返回一个布尔值
我在让 UIAlert 返回布尔值时遇到了麻烦,而且我真的在网上找不到任何东西,所以我希望你们能帮忙。首先,这是应用程序的基本设置。基本上,当用户单击“单击”按钮时,会弹出一个警报,选择“是”和“否”。到目前为止,这是我为按钮设置的代码:
我怎样才能准确地使用完成选项来返回一个布尔值?
ios - 如何将更多参数传递给 UIAlertAction 的处理程序?
有没有办法将数组“listINeed”传递给处理函数“handleConfirmPressed”?我可以通过将它添加为类变量来做到这一点,但这看起来很hacky,现在我想为多个变量执行此操作,所以我需要一个更好的解决方案。
ios - 应用程序在后台运行时发送本地通知 Swift 2.0
当用户最小化应用程序时(通过单击 iPhone 的主页按钮或锁定手机),我试图向用户发送“推送通知样式”警报。
我的应用程序不断解析一个 XML 文件(每 10 秒),我希望应用程序继续运行,以便在我的程序中满足某些条件时向用户发送本地通知,即使用户已最小化应用程序或锁定他们电话。
我已经从教程中反弹,每个人似乎都在“安排”通知,但这对我不起作用,因为我的通知不是基于时间的,而是基于满足的条件。
到目前为止我所做的:
AppDelegate.swift
MapViewController.swift
应用程序打开时警报效果很好,但是当我最小化手机上的应用程序时,通知永远不会出现。我假设应用程序在后台运行时没有运行,或者我不太理解这个概念。任何帮助是极大的赞赏。
swift2 - 如何在 tvOS 中实现 UIAlertController
我正在实现UIAlertController
in tvOS 平台。它工作正常,但是当我点击按钮操作时,不会调用该操作。但是当用两个按钮上下移动并点击任何一个动作时。
这是我的代码。
请找出问题并建议我。谢谢你。
ios - UIAlertController - 如果警报第一次解除,则不执行操作
在我正在进行的一个项目中,我必须编写一个 UIAlert 帮助模块,它会在我的 iOS 应用程序中到处显示弹出窗口。弹出窗口被编写为类函数,我可以在代码中的任何位置简单地调用它们(类是静态的,所有函数也是如此)。
我现在遇到一个非常奇怪的错误,如果您关闭警报一次,然后再次打开它,它的操作不再起作用(例如,不调用操作处理程序)。如果您在第一次显示弹出窗口时单击该操作,它确实有效,但是......
这是发生此错误的特定弹出窗口的代码(不影响其他弹出窗口):
skipWalkthroughAction
定义如下:
并且cancelAction
定义为:
每次您在演练的最后一步中按下“跳过”按钮时,都会特别显示此弹出窗口...
我已经尝试了一些关于导致这种行为的原因的线索,我认为这可能与弹出窗口没有真正被释放有关,但我现在完全不确定......
有任何想法吗 ?
ios - 如何在 ObjC 中通用更改 UIAlertController 按钮颜色
这个问题与此类似
但是,UIAlertController
我不想改变 every 的颜色,而是想像“AppDelegate”一样通用地改变它。因此,如果我在一处更改颜色,则所有警报控制器操作按钮都应更改为新颜色。我的问题是:
- 是否可以从 AppDelegate 做到这一点?如果没有,我该怎么做?
- Apple 是否会批准在所有 iOS 版本中将按钮颜色更改为自定义?
swift - 使用 addAction 时 UIAlertAction 无法更改文本颜色
我的警报框正在使用自定义背景和白色文本,除了我似乎无法在我的操作是和否(来自 addAction 语句)上获得白色文本。当我使用属性字符串作为警报框标题和消息时,白色文本确实显示使用。
ios - UIAlertAction 的处理程序有点太晚了 - 我怎样才能让它立即生效?
我正在尝试(...)为添加到 UIAlertController 的按钮添加声音效果。我在处理程序中发出声音效果,但这实际上有点太晚了。声音像 0.5 秒一样迟到了。我希望在警报即将解除时立即发出声音,而不是在解除后发出声音。使用 UIAlertView 可以使用 alertWillDismiss... 而不是 alertDidDismiss 来处理。
我错过了什么?