jjzjj

anchorpoint

全部标签

ios - 如何更改 anchor ?

我正在使用SceneKit。对象SCNNode相对于中心旋转。如何改变SCNNode的anchor?SCNScene*scene=[SCNScenenew];SCNBox*boxGeometry=[SCNBoxboxWithWidth:384.fheight:512.flength:20.fchamferRadius:0];SCNMaterial*material=[SCNMaterialnew];material.diffuse.contents=[UIImageimageNamed:@"material"];SCNNode*boxNode=[SCNNodenodeWithGeome

iphone - 缺少 UIView 的 anchorPoint 属性

我使用的代码来自apple的Touchescode(我刚刚将piece的变量名更改为image):-(void)adjustAnchorPointForGestureRecognizer:(UIGestureRecognizer*)gestureRecognizer{if(gestureRecognizer.state==UIGestureRecognizerStateBegan){UIView*image=gestureRecognizer.view;CGPointlocationInView=[gestureRecognizerlocationInView:image];CGPoi

ios - 具有自定义 anchorPoint 的 UICollectionViewFlowLayout Cell 重用过早

我将UICollectionViewFlowLayout子类化以在水平滚动期间实现小的缩放效果。因此,我不得不继承UICollectionViewCell并更改单元格的layer.anchorPoint(我的缩放比例是从单元格的左下角开始,而不是从默认中心开始).现在一切都很好,除了当我水平滚动时,我的单元格被过早地重复使用(当它突然消失时我仍然可以看到半个单元格)。我感觉collectionview的计算仍然基于位于单元格中心的anchor来重用单元格...但是,这是我的收藏View。您可以看到项目在到达CollectionView的左侧时如何变大。这是我想要的缩放比例。现在我向左滚

Swift 3 初学者 - 在场景中定位 Assets

我是Swift3和一般编程的完全初学者,所以这将是一个非常基础的问题。我一直在学习教程,目前正在使用CGPoint定位SpriteNode。本教程推荐以下方法将节点定位在屏幕底部的中央:Ground.position=CGPoint(x:self.frame.width/2,y:0)但是,这会导致它停留在屏幕的右上角。当我使用下面的代码时:Ground.position=CGPoint(x:0-self.frame.width/2,y:0-self.frame.height/2)它按预期定位在底部中心。我不明白为什么会发生这种情况,因为此时教程中几乎没有其他内容会导致错误。

ios - 如何在不跳过的情况下在特定 anchor 旋转图层?

我想旋转左上角有图像的层,而不是中心。根据文档,我将anchorPoint属性设置为[0,1]。在我的示例中,View旋转了50°,但在它开始动画之前,View跳转到屏幕上的另一个点。self.shakeTag.layer.anchorPoint=CGPointMake(0.0f,1.0f);[UIViewbeginAnimations:@"rotate"context:nil];[self.shakeTag.layersetTransform:CATransform3DRotate(CATransform3DIdentity,radians(50.0),0.0f,0.0f,1.0f)

ios - 如何在不跳过的情况下在特定 anchor 旋转图层?

我想旋转左上角有图像的层,而不是中心。根据文档,我将anchorPoint属性设置为[0,1]。在我的示例中,View旋转了50°,但在它开始动画之前,View跳转到屏幕上的另一个点。self.shakeTag.layer.anchorPoint=CGPointMake(0.0f,1.0f);[UIViewbeginAnimations:@"rotate"context:nil];[self.shakeTag.layersetTransform:CATransform3DRotate(CATransform3DIdentity,radians(50.0),0.0f,0.0f,1.0f)

ios - 使用 UIGestureRecognizer (iOS) 围绕 anchorPoint 平移、缩放、旋转 UIView

我正在尝试使用UIGestureRecognizers旋转、平移和缩放UIView。识别器被添加到父View,而旋转、缩放等被应用到subview(_baseImage),这是为了让我能够在未来将其他东西覆盖在subview之上,同时仍然接收手势事件。想法是UIView应该围绕subview上两个触摸点下方的“anchor”缩放/旋转,因为这看起来是最自然的。我遇到的问题是设置anchor后subview的位置,而且缩放和旋转似乎没有使用设置的anchor。我对重叠坐标系/CGAffine变换缺乏了解可能让我陷入困境。代码是从各种示例中提取的。这是我目前的代码:-(void)setAn

ios - 从中心以外的点缩放 UIView,寻找 anchorPoint 的替代方法

我一直在使用CGAffineTransformMakeScale来缩放UIView。这将通过默认的anchor对其进行缩放,即(.5,.5)--中心。我想缩放它,使其向左拉伸(stretch),就好像它向左缩放一样。我可以通过将anchorPoint设置为正确的中心来​​完成此操作。但是,这会导致设置框架等问题。是否有更好的方法来应用我想要的比例变换。我想我可以用自定义变换矩阵来做,但我不擅长矩阵数学。 最佳答案 使用anchorPoint,绕过框架怪异,只需存储并重新加载它,如thisanswer.

swift - 在 SKNode 子类中实现 anchorPoint

我有一个继承自SKNode的自定义类,我想在该类上实现SKSpriteNode的类似anchor的功能。具体来说,我想要实现的是自动将自定义节点置于父节点的中心(anchorPoint为0.5、0.5),而不必将其偏移其宽度/高度的一半。有什么建议吗?编辑:我最终首先创建了一个anchorPoint变量,然后覆盖了position变量并设置了由anchorPoint修改的super位置。varanchorPoint=CGPoint(x:0.5,y:0.5)overridevarposition:CGPoint{set{super.position=CGPoint(x:self.posi