问题标签 [uiswipeactionsconfiguration]
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 - UISwipeActionsConfiguration/UIContextualAction 带有图标和文本和清晰的背景
有几个类似的问题(例如我以前的 iOS10 变体),但我认为应该有一个最新的 iOS 11 答案,使用 Swift4,不使用私有 API,并且不依赖您将图标限制为 unicode 表情符号。
随着 API 到 iOS11 的演变,我们现在可以放置图像和文本,但它们被强制进入模板模式并使用您设置的任何 backgroundColor 反转颜色。例如
产生这个:
显然,我们可以有图像或文本,但不能两者兼而有之。
但我想要的样子是
除了倒序之外,我不知道如何像 iOS10 那样欺骗系统。我仍然可以生成带有文本和图像的图像,但我无法控制该图像的颜色。将 backgroundColor 设置为 nil 或 .clear 只会产生空方块。
ios - 通过向后滑动关闭 UISwipeActionsConfiguration
我使用新的 iOS 11 API 实现了尾随滑动动作UISwipeActionsConfiguration
,我可以通过从边缘滑动来显示它们,可以一直滑动到左侧等。
但是我无法通过滑回原始位置来隐藏这些动作。如果我向左拖动一点,然后再向右拖动,它确实会消失(参见 gif)。它也可以通过点击一个单元格来消除。
官方邮件应用程序确实支持拖动以隐藏滑动操作,因此 API 中可能也有一种方法。
在此处查看示例项目:https ://github.com/nezhyborets/ios-case-study-playgrounds/tree/master/UISwipeActionsConfiguration
ios - 尾随滑动动作不关闭
我在 UITableView 中配置了尾随滑动操作。这些操作可以正常工作,但是当某个操作从表格中删除单元格时,滑动操作会保留在替换已删除行的行上方。所以看起来新的当前行被刷了。
而且我认为滑动操作实际上可能会将它们的附件转移到那个新行,我不知道。
是否有一些我没有意识到我需要调用的解除功能?
swift - .withRenderingMode(.alwaysOriginal) 不适用于 UITableView trailingSwipeActionsConfigurationForRowAt 动作中的图像
我想.trailingSwipeActionsConfigurationForRowAt
用原始图像颜色的图像创建动作。默认情况下,所有图像都变为白色。在我的图像中,颜色很少,我想保留它们,所以我不能只着色。我正在尝试使用.withRenderingMode(.alwaysOriginal)
,但它似乎根本不起作用 - 图像仍然变白,我尝试过 pdf 和 png,都一样。
这是我的代码:
有什么办法让它工作吗?
升级版:
我发现只有一种方法 - 使用.backgroundColor = UIColor(patternImage: theImage)
而不是.image
.
但是,如果您将使用这个技巧,就像我最后所做的那样 - 请注意,您将需要创建一个具有精确高度作为单元格高度的图像,并且在图像的右侧具有扩展的色域。这将有助于防止图像在屏幕区域可见重复。而且,文本标题会出现(使用.image
时是隐藏的),所以如果你不需要它,只需在其中输入一个空字符串。
代码示例:
图片示例:
swift - UITableView 中的行不会立即删除
trailingSwipeActionsConfigurationForRowAt
UITableView
当用户滑动删除某些单元格(项目)时,我正在使用的委托方法进行处理。
我UIContextualAction
的删除事件看起来像这样。我首先从 Realm 数据库中删除项目,然后从表视图中删除行
但是由于某种原因,当我删除单元格时,它并没有立即删除,而是返回到滑动之间的位置。然后当我滚动表格视图时,单元格消失了,就像你在下面的 gif 中看到的那样:
我可以通过在从数据库中删除某些项目后立即重新加载表视图的数据来“修复”这个问题,但这不是我想要的,我想使用deleteRow(at:with:)
动画。
我的一个猜测是,它与从 Realm 数据库中删除项目有关。
我正在使用delete
方法删除项目
然后作为我的表视图的数据源数组,我使用的是 RealmResults
有人知道为什么会这样吗?谢谢你。