我正在尝试实现Range Slider,我使用名为NMRangeSlider的自定义控件.
但是当我使用它时,滑块根本不会出现.难道也是因为它全部是用Objective-C编写的吗?
这就是我目前的实现方式:
var rangeSlider = NMRangeSlider(frame: CGRectMake(16, 6, 275, 34))
rangeSlider.lowerValue = 0.54
rangeSlider.upperValue = 0.94
self.view.addSubview(rangeSlider)
Run Code Online (Sandbox Code Playgroud) TLDR:寻找一种解决方案,以在从导航栏向下拖动时启用交互式关闭,而不是从视图控制器的视图中拖动。
iOS 13 模态视图控制器允许通过以下几种方式禁用交互式关闭:
vc.modalPresentationStyle = .fullScreen(请参阅在 iOS 13 全屏显示模式)viewController.isModalInPresentation = true(请参阅禁用 iOS 13 中呈现的视图控制器的交互式关闭)UIAdaptivePresentationControllerDelegate委托方法(请参阅iOS13 中的 UINavigationBar 更改)如果您想要与 iOS 12 及更低版本相同的行为,第一个很棒。
第二个,非常适合防止交互式关闭,但仍然允许在从主视图控制器视图中拉动时向下拖动视图控制器(带有漂亮的动画)。
后者允许更好地处理事件,但无助于防止从视图控制器的视图中拖动。
我见过的最接近的事情是设置刷新控件以防止在下拉刷新期间被关闭。此 GIF 显示了我正在寻找的行为(来源):
这种下拉刷新交互可以在 iOS 日历应用程序的模式收件箱屏幕中看到。
我正在寻找的行为与上面的下拉刷新相同,但没有滚动视图和刷新控件。
基本上,对视图控制器视图的触摸不应触发交互式解除。
我尝试了以下方法,但没有运气:
view.isExclusiveTouch = trueview.isUserInteractionEnabled = false总之,我需要的是:
谢谢!
我有一个 iOS 游戏,在屏幕底部附近有一些可以滑动的控件。当玩家向下滑动时,如果他们的手指滑离屏幕底部,也会触发Reachability 无障碍手势。然后滑下屏幕,将这些控件移出页面并隐藏游戏的一半。显然,这不是玩家的意图,并且要求他们的滑动非常具体,这不是很直观或很有趣。
在圆形 iPhone 套件上,控件距离屏幕底部大约 100 pt,为主页指示器留出空间,这有助于在许多情况下防止出现此问题,但在方形设备上,它们更接近 10 pt:
在我的初步测试中,我发现即使在屏幕上开始高达 300pt 的滑动一直持续到屏幕底部,也会触发可达性。因此,将我的控件调高并不是解决方案,因为这会使它们在屏幕上处于死角(也阻挡了游戏的焦点),并且在某些手机上无法舒适地使用手指。
由于 Reachability 在我的游戏中没有任何用处(屏幕的上三分之一没有控件用于将您的手保持在屏幕的下部)我真的想要一种方法来防止这个。理想情况下,在游戏过程中通过某种方式通知系统它是不必要的,因此我可以在非游戏菜单中允许它 - 但我可能在梦想那部分。我也不认为要求用户在整个系统范围内禁用此解决方案是一个很好的解决方案,因为这是我的应用程序的冲突,并且需要他们在其他地方改变他们的行为。
是否有关于如何处理与此特定可访问性手势的冲突的任何指导、示例或建议?
我有一个 tableViewController,它以默认的工作表样式呈现模态呈现。
我想保留这种模态样式,因为它看起来不错并且在我的应用程序中运行良好。我喜欢下拉导航栏时的解雇。但是,我不想要的是在 tableView 单元格上下拉导致 tableViewController 在 tableView 已经滚动到顶部时被关闭。
有没有办法抑制这种行为,但保持工作表样式的模态呈现?我希望 tableView 上的下拉保持垂直反弹效果,并且只能通过下拉导航栏部分来消除模态呈现的 tableViewController 通过平移。