草庐IT

ios - AVExportSession 中 CALayer 中的视频重力

我的应用程序首先录制视频,然后在添加一些效果后使用AVExportSession导出输出。首先,问题是视频录制期间的视频引力问题,通过将AVCaptureVideoPreviewLayer中的videoGravity属性更改为AVLayerVideoGravityResizeAspectFill解决了这个问题。其次,问题在于显示录制的视频,解决方法是将AVPlayerLayer中的VideoGravity属性更改为AVLayerVideoGravityResizeAspectFill但是,现在的问题是,当我想在使用AVExportSession添加一些效果后导出视频时,又出现了一些视频

ios - 当圆形蒙版应用于 ImageView 时,UIImageView 中的图像不显示在 UITableView 中,除非滚动

在此先感谢您的帮助。我在主视图Controller中有一个UITableView。在原型(prototype)单元格中,我有一个UIImageview。在下面的代码中,一切正常,直到我添加5行以应用圆形蒙版和边框。一旦我这样做,除非我滚动单元格,否则图像将不会加载。然而,mask和边框确实得到了完美的应用。当它起作用时会很棒......但在那之前。当然,这以前见过。我是一个swift/objective-C新手。正在为此快速工作。下面的代码;functableView(tableView:UITableView,cellForRowAtIndexPathindexPath:NSInde

swift - 层变换矩阵(CATransform3D 等)但带有 IBDesignable?

本类(class)将透视直立图像。它工作得很好,但不能在带有IBDesignable的Storyboard中实时工作。这是非常可悲的。有没有可能用CATransform3D之类的用IBDesignable在Storyboard上实时显示??//Twist.swift..twistonY,perspectivefromtheleftimportUIKit@IBDesignableclassTwist:UIViewController{@IBInspectablevarperspective:CGFloat=0.5//-1to1@IBOutletvarim:UIView!//theimag

swift - CALayer 绕中心旋转

我想做一些事情,比如圆形进度条,在UIView中绘制贝塞尔曲线路径,但它看起来旋转了PI/2。所以我需要将它旋转PI/2。问题是,它围绕某个非常奇怪的点旋转,我不知道如何处理它。我试着关注these说明,但它没有帮助,因为我想围绕中心旋转它。这是我的代码:requiredinit(coderaDecoder:NSCoder){ringLayer=CAShapeLayer()ringLayerBackground=CAShapeLayer()super.init(coder:aDecoder)ringLayer.lineCap=kCALineCapButtringLayer.fillCo

ios - CGAffineTransform 影响我的 UIView 的角半径

我使用以下代码将CGAffineTransform动画应用到UIView:UIView.animate(withDuration:0.5,delay:delay,options:[.autoreverse,.repeat],animations:{elementView.transform=CGAffineTransform(scaleX:1.0,y:0.4)}){(finished)in}UIView在动画中正确缩放,但我还将UIView的圆角半径设置为完美环绕View的顶部和底部。问题是,当发生缩放动画时,我的UIView的角半径被“挤压”了:如何确保圆角半径保持完美的圆角,同时保

calayer - 无法释放 CGPathCreateMutable 在 Swift 中创建的路径

我在Swift中有这个简单的代码:overridevarbounds:CGRect{didSet{if(bounds!=oldValue){varpath=CGPathCreateMutable()CGPathAddEllipseInRect(path,nil,bounds)self.path=pathCGPathRelease(path)}}}它应该在图层的bounds更改时绘制一个填充图层的圆。这是从我的旧Objective-C代码移植过来的,它运行良好:-(void)setBounds:(CGRect)bounds{if(CGRectEqualToRect(self.bounds

ios - 确定 CATextLayer 中文本框的大小

我写了这段代码,运行良好;但我需要弄清楚CATextLayer中文本的大小才能完成它?我使用点击手势获取x/y的想法,输入文本并让它计算出在CATextLayer对象/View中绘制它所需的CGSize。overloadfuncViewDidLoad()lettap=UITapGestureRecognizer(target:self,action:#selector(handleTap))container.addGestureRecognizer(tap)}funchandleTap(gesture:UITapGestureRecognizer){letlocation=gestu

swift - 使用 UIBezierPath 点绘制矩形时如何圆角

我使用UIBezierPath逐点添加创建了一个矩形,现在我想圆角这个矩形的角,但似乎没有办法做到这一点。谁能帮帮我?classRectangleLayer:CAShapeLayer{letanimationDuration:CFTimeInterval=0.5overrideinit(){super.init()fillColor=Colors.clear.CGColorlineWidth=5.0path=rectanglePathStart.CGPath}requiredinit?(coderaDecoder:NSCoder){fatalError("init(coder:)has

swift - 当 superView 的比例变化时,CABasicAnimation 绘制路径不会缩放

我有一个将矩形绘制到特定百分比的动画。为此,我正在绘制一个CAShapeLayer:funcdrawTheLayer()->CAShapeLayer{letlineWidth:CGFloat=borderWidth*bounds.size.width/standardSizeWidthletcornerRadiusResized:CGFloat=cornerRadiusRanged*bounds.size.width/standardSizeWidthletinsetRect=CGRectInset(bounds,lineWidth/2.0,lineWidth/2.0)letapath

ios - 什么时候在 Swift 中为 View /图层设置边界和框架?

我在UIView中有类似的东西子类:overridevarbounds:CGRect{didSet{somelayer.frame=bounds}}在对应的somelayer,我有这个:overridevarbounds:CGRect{didSet{someFunction()}}现在如果使用super.init(frame:someFrame)初始化View,第一个block不被调用。这似乎表明bounds属性未与frame一起设置.如果我将第一个block更改为overridevarframe,那么它将被super.init(frame:someFrame)调用,它将设置frame