草庐IT

ios - 基于路径的 mask ,具有很好的抗锯齿效果

我想用圆圈遮盖正方形。我使用它而不是圆角半径是因为我稍后想用动画做一些事情。我可以遮住它,但边缘很粗糙://TargetViewlettargetView=UIView(frame:CGRect(x:0,y:0,width:100,height:100))targetView.backgroundColor=UIColor.redColor()//MaskletmaskingPath=UIBezierPath()lethalf=targetView.frame.width/2maskingPath.addArcWithCenter(CGPoint(x:half,y:half),radi

ios - 为什么一个CALayer的transform3D的m34需要在应用旋转变换之前修改?

以下代码可以对图层进行透视旋转变换:CATransform3Dtransform3DFoo=CATransform3DIdentity;transform3DFoo.m34=-1.0/1000;transform3DFoo=CATransform3DRotate(transform3DFoo,M_PI/4,1,0,0);但是,如果两条线颠倒:CATransform3Dtransform3DFoo=CATransform3DIdentity;transform3DFoo=CATransform3DRotate(transform3DFoo,M_PI/4,1,0,0);transform3

iOS - 如何创建带阴影的 "material design"兼容 UIView?

我想看看是否有办法用ashadowbehaviorcompliantwithmaterialdesign创建一个UIView.我的理解是,随着物体远离背景表面,阴影变得更加强烈。我可以像这样手动添加阴影,但是这个阴影不会计算阴影的强度(基于Z顺序)。button.layer.shadowPath=[UIBezierPathbezierPathWithRoundedRect:button.layer.boundscornerRadius:11].CGPath;button.layer.shadowOpacity=1.0;button.layer.shadowOffset=CGSizeMa

cocoa-touch - 是否可以将 Cocoa Touch 手势识别器与图层/CALayer 对象一起使用?

是否可以将手势识别器与图层一起使用?假设我想向我的View添加几个子层并实现拖放以及点击单个元素。有可能吗?什么是最好的模式? 最佳答案 您可以尝试将手势识别器添加到您的UIView然后调用-(CALayer*)hitTest:(CGPoint)thePoint在您的View层上找到您点击的层,例如;CALayer*layerThatWasTapped=[gestureView.layerhitTest:[gestureRecognizerlocationInView:gestureView]];

ios - 将 SKSpriteNode 掩蔽为液体

我想创建一个液体动力学。我搜索了很多,创建了随着设备运动而移动的球,但我不知道如何让球看起来像液体。我猜这是一些面具,但我没有找到如何去做。有人可以帮我吗?谢谢。 最佳答案 在游戏中看起来像液体的东西通常遵循以下模式(有很多方法可以做到这一点,使用滤镜、着色器、您自己的自定义opengl东西):很多球彼此相邻球具有alpha渐变。所以基本上,如果你在photoshop中用黑色在alphachannel上做一个径向渐变,你会得到一个非常模糊的球。或者只是在photoshop中画一个黑球并模糊它。你明白了。你很难对比(阈值)一切。实际上

ios - 禁用 CALayer mask 帧变化动画

我有一个CAShapeLayer实例,它有一个非nilCALayermask。我正在尝试使用该面具的框架来剪裁形状。哪个工作正常。但是当我改变框架时,我不希望它为框架变化设置动画。我更新了我View的layoutSubviews中的框架,我注意到了一些有趣的事情:overridefunclayoutSubviews(){super.layoutSubviews()...ifletfutureMask=self.futureShape.mask{"0.futurepositionanimation\(futureMask.animation(forKey:"position"))".pr

iphone - 我如何更改 Core Graphics 中 CALayer 的填充颜色?

我有一个形状,一个CALayer,我想向其添加核心图形效果。现在,我想保持简单并更改它的填充颜色。我该怎么做? 最佳答案 如果你只想改变整个图层的颜色,你可以使用:layer.backgroundColor=[[UIColorgreenColor]CGColor];如果你有一个更复杂的形状,比如要填充的路径,你需要用这样的东西覆盖层的drawInContext::-(void)drawInContext:(CGContextRef)context{//...CGContextSetFillColorWithColor(context

ios - 删除 uiwindow 的 subview ?

我想从uiwindow中删除一个View,所以我在appdelegate方法中nslog,它说窗口的subview计数为两个NSLog(@"%d",[[self.windowsubviews]count]);那么我如何从窗口中删除该subview,如果我删除该subview,我将继续使用标签栏Controller...-(void)GetUserCompleted{NSLog(@"%@",[[self.windowsubviews]objectAtIndex:0]);NSLog(@"%@",[[self.windowsubviews]objectAtIndex:1]);}

ios - 在 AVMutableVideoComposition 中创建一个按时间间隔更改的 CATextlayer

我有一个应用程序,允许用户以可变组合录制视频。我想设置一些文本,当用户在导出后播放它时,它会出现,然后按照我设置的时间间隔进行更改。例如,如果第一个词是“dog”,那么我想将其设置为“cat”在X秒后替换该字符串,然后在X秒后替换为另一个词。我的视频是使用AVExportSession从AVMutableComposition导出的,我的文字将使用添加到其中的CATextlayer添加,如下所示://codetosetupAVMutableComposition...//codetosetupCATextLayerandAVMutableVideoCompositionCALayer*

ios - 多个 UIView 的动画与 UIBezierPath

我有以下屏幕:当我点击获取更多按钮时,它会添加新的圆形按钮。我在UIView上添加了PanGesture,其中添加了所有圆形按钮,然后仅从圆形按钮绘制UIBezierPath。到目前为止,一切正常。现在,我想要以下内容:我有一个名为playGroundView的父级UIView,它包含所有圆形按钮。这将为所有这些按钮绘制一条贝塞尔曲线路径。为所有按钮绘制贝塞尔曲线路径后,我单击“移动按钮”以立即为所有圆形按钮设置动画。一次,所有按钮都移动到贝塞尔路径的终点,然后我可以再次为同一按钮绘制更多贝塞尔路径(为圆形按钮添加更多步骤)连接到同一路径。在此之后,FinalMove按钮将立即为同一个