问题标签 [uipushbehavior]

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.

0 投票
2 回答
1455 浏览

ios7 - iOS7 how to understand UIPushBehavior magnitude in UIPushBehaviorModeInstantaneous mode?

I'm looking at Apple documentation for UIPushBehavior and it confuses me in instantaneous mode. I know that the acceleration formula is Force = Mass * acceleration. I assume that mass of a view is width*height*density(1). The documentation describes push magnitude as follows:

The default magnitude is nil, equivalent to no force. A continuous force vector with a magnitude of 1.0, applied to a 100 point x 100 point view whose density value is 1.0, results in view acceleration of 100 points / second² in the direction indicated by the angle or pushDirection property.

This makes sense in terms of continuous pushing, where it provides constant acceleration. It does not say anything about intantaneous push. How can I understand what velocity an instantaneous push of magnitude 1 will provide to a 100x100 view?

0 投票
1 回答
396 浏览

objective-c - 添加重力和碰撞行为后 UIViews 重叠

我正在尝试通过单击按钮来堆叠 uiviews。我还使用 UIKit 动态添加了重力和碰撞行为。从图像 ( http://pho.to/7nVJI ) 中可以看出问题是,最下面的绿色块和上面的块似乎重叠。这是 ViewDidLoad 方法:`- (void)viewDidLoad { [super viewDidLoad]; // 在加载视图后做任何额外的设置,通常是从一个 nib。

}`

以下是我如何在之前的块之上添加新块:

我如何确保这些块在堆叠时不会重叠。这种重叠会导致另一个问题,当我在右侧添加另一个类似于此的塔并将推动行为添加到绿色块以将其向右移动时,而不是仅从第二个塔移动相邻的块,它还会移动倒数第二个从第 2 塔挡住。任何指针/帮助表示赞赏。提前致谢 :)。

0 投票
0 回答
313 浏览

ios - 我怎样才能提高我的应用程序(swift)的性能,接缝挣扎

我制作了一个使用自定义 UIDynamicBehavior 的应用程序,但我遇到了性能问题。所以我写的游戏在屏幕中间有一个圆圈,并且有小圆点从中间随机“飞”到圆圈的边界。我最多同时在屏幕上大约有 4-5 个圆圈,并且帧已经下降。我也尝试过使用多线程,但我遇到了一些我不明白的奇怪错误,所以我认为我使用错了。有没有人有这方面的经验?有人能帮助我吗?在文件中,您会看到一个函数“lunchBall”,gats 大约每秒调用一次。谢谢你。这是文件:https ://www.dropbox.com/s/hbf2qux47zhd9ap/BallDynamicBehavior.swift?dl=0

0 投票
0 回答
384 浏览

ios - swift中的UIPushBehavior

我想在 Swift 中实现 UIPushBehavior,但我总是遇到以下错误:...查看项目 UIImageView 应该是 UIDynamicAnimator 中参考视图的后代...

我正在将视图添加到行为中,并将行为添加到动画师...

我还将动画师的referenceView设置为应该发生动作的gameView......

我希望你能帮助我弄清楚如何解决我的小问题......

0 投票
1 回答
396 浏览

ios - 通过改变 x 位置来拉起和放下 UIView

编辑

这是我想要可视化的(忽略丑陋的红线,它只是表示 UIView 的移动):

在此处输入图像描述

我想要一个在屏幕中间初始化的 UIView。在那之后,我想向上推它,重力将它拉下来,直到它离开屏幕。我的旧问题适用于 UIPushBehaviour、UIDynamicBehaviour 和 UIGravityBehaviour(见下文)。Matt 指出 UIPushBehaviour 可能不是正确的选择,因为它不能很好地适用于 iOS 上所有可用的屏幕尺寸。

我可以使用 UIView.animate 函数来做到这一点,但它确实是静态的,看起来并不自然。使用 UIPushBehaviour、UIDynamicBehaviour 和 UIGravityBehaviour,它看起来非常不错,但 UIPushBehaviour 的大小无法在每个屏幕尺寸上计算,以给出 UIView 的 x 和 y 位置的相同结束点。

问题

如何在屏幕中间初始化 UIView,“拉起”该 UIView(x 位置发生一些变化)并让重力(或其他东西)将其拉下直到它离开屏幕?重要的是 x 和 y 位置的变化在每个屏幕尺寸上都是相同的。

下面是我的老问题

我有一个UIPushBehaviourwith instantaneousas 模式,我在其中推动一些UIViews。屏幕尺寸越大,推动的越少。
我也有一个UIDynamicItemBehaviorwith resistanceset to 1,我认为这是每个屏幕尺寸不同的主要原因之一(如果我错了,请纠正我)。

我想要一个功能,它将以相同的速度、持续时间和结束点推UIView送到相同的结束点,而不管屏幕大小。

我试图在没有任何运气的情况下做出相对大小:

对于 iPhone 5S,假设 amagnitude会从中间到顶部0.5触摸 a 。UIView我想计算所有设备的幅度,如下所示:

对于 iPhone 8,它具有非常不同的输出并且无法正常工作。在阅读文档时,我以为我会理解它。我认为 1 量级代表 100 像素,但显然不是这样。
有什么方法可以计算幅度,例如,将 aUIView从中间移动到右侧?

我在这里做了一个项目。在 iPhone 5 上,黑色UIView被推到边缘,但在 iPhone 8 上没有。

0 投票
1 回答
119 浏览

swift - 如何使用 UIPushBehavior 以相同的速度推送动态对象?

我不是物理专家。但是,我想移动具有动态高度(取决于内容)的 UILable ,就像提词器一样。但是当我以 10 级开始行为时,它开始移动,但突然减速,我希望以相同的速度连续向上移动。

下面是我的代码:

lblText 大小为 375*1500