Tag: calayer

需要更改CALayer类对象的大小和位置

我试图复制苹果提供的这个示例应用程序的所有function称为AVCam: https : //developer.apple.com/library/ios/samplecode/AVCam/Introduction/Intro.html#//apple_ref/doc/uid / DTS40010112-简介-DontLinkElementID_2 我唯一遇到的问题是更改UIView对象的大小和位置。 问题是我正在使用苹果的示例代码,这只是对我来说没有意义。 苹果公司提供了这个示例VC,我称之为MediaCapturePreviewView。 这是头文件代码: #import <UIKit/UIKit.h> @class AVCaptureSession; @interface MediaCapturePreviewView : UIView @property (nonatomic) AVCaptureSession *session; @end 这是它的主要文件代码: #import "MediaCapturePreviewView.h" #import <AVFoundation/AVFoundation.h> @implementation MediaCapturePreviewView – (void)drawRect:(CGRect)rect { // Drawing code } */ + (Class)layerClass { return [AVCaptureVideoPreviewLayer class]; } – (AVCaptureSession *)session { return [(AVCaptureVideoPreviewLayer *)[self layer] session]; } […]

UIImage / CGImage的iOS图层蒙版?

我有以下图像: 在一个完全相同的帧大小的UIImageView,我想显示的一切,但红色填充。 let mask = CALayer() mask.contents = clippingImage.CGImage self.myImageView.layer.mask = mask 我认为当作为面具应用时,黑色会显示出来,但是当我设置面具时,整个视野被清除。 这里发生了什么事?

使用UIBezierPath在ImageView上绘制和擦除

我写这个链接的答案代码来创buildImageViewLayer和Imageview。 StackOverflow链接 这个链接给了我下面的结果。 它工作正常。但我想,当用户按下原始button…,然后用手指触摸删除前一个清除区域的填充。 以及如何为此创build撤消function..如果有任何问题请添加您的评论..请帮助我…

CAGradientLayer在滚动到UITableView顶部之后位置有误。 迅速

我需要在特定的UITableViewCell底部制作一个阴影。 我做了它,但是当我滚动到底部它工作正常,当我滚动到顶部阴影有错误的位置,它出现在UITableViewCell的顶部。 我尝试了几种方法,但它不适合我。 我读了这个问题和这个问题我该如何解决? func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier(cellReuseIdentifier, forIndexPath: indexPath) as! LifelineLeaderboardTableViewCell // Configure the cell… let lifelineRecentModel = users[indexPath.row] cell.clipsToBounds = false if let currentUserID = DBHelper.instance.mainUserId { if lifelineRecentModel.user.id == currentUserID { cell.setupUserNumberLabelTextColor(true) cell.showBlueLineView(true) // cell.showShadow(true) let shadowView = UIView(frame: cell.bounds) let shadowFrame = […]

不能再翻转层,CALayer,CATransform3DRotate。

我想要做的是做: 点击一个button来做垂直翻转。 再次点击一个button,图层将会翻转,等等… 代码如下: @interface ViewController (){ CALayer *plane; } @end @implementation ViewController -(void)viewDidLoad { [super viewDidLoad]; [self addALayer]; } – (void)addALayer{ plane = [CALayer layer]; plane.backgroundColor = [[UIColor orangeColor] CGColor]; //[plane insertSublayer:normalBackground atIndex:0]; plane.opacity = 1; plane.frame = CGRectMake(0, 0, 300, 100); plane.position = CGPointMake(250, 150); plane.anchorPoint = CGPointMake(0.5, 0.5); plane.borderColor = [UIColor whiteColor].CGColor; […]

Swift:如何启用CALayer的捏缩放?

我一直在试图滚动和缩放几个多边形path的CALayer,特别是CAShapeLayer。 我将CALayer添加到已成功启用CALayer滚动的UIScrollView。 但是,捏缩放不能正常工作。 有几个教程已经实现了使用UIScrollViewDelegate缩放UIImageView,就像这样: @IBOutlet var scrollView : UIScrollView! var imageView = UIImageView() scrollView.addSubview(imageView) func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { return imageView } 但CALayer与UIView不兼容,我没有find任何有关调和差异的信息。 有没有一种类似的本地方式来缩放在雪花CALayer? 这件事真的很简单吗? 任何帮助,将不胜感激; 道歉,如果我错过了显而易见的。

需要关于viewDidLayoutSubviews的帮助

关于viewDidLayoutSubviews Apple文档说: 当视图控制器视图的边界发生变化时,视图会调整其子视图的位置,然后系统会调用此方法。 但是, 调用此方法并不表示视图子视图的各个布局已被调整。 每个子视图负责调整自己的布局。 你的视图控制器可以重写这个方法来在视图布局子视图之后进行更改。 这个方法的默认实现什么也不做。 我有view1其中包含view2意味着view2是view1的子视图。 我正在为view2创build一个CALayer ,我希望它是view2大小。 我正在使用auto layouts因此我想在auto layout完成其工作时创buildCALayer ,以便可以为CALayer帧设置正确的值。 但在viewDidLayoutSubviews方法,我无法检测何时完全view2框架由auto layout设置,因为苹果文档也说 这个方法被调用并不表示视图的子视图的个别布局已被调整。 之后,苹果医生说 你的视图控制器可以重写这个方法来在视图布局子视图之后进行更改。 我很困惑什么时候auto layout将设置view2框架,所以我可以相应地设置我的CALayer框架。

我如何使一个图层保持CABasicAnimation的最终值

考虑下面的animation: CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; pathAnimation.duration = 1.0; pathAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f]; pathAnimation.toValue = [NSNumber numberWithFloat:1.0f]; pathAnimation.removedOnCompletion = NO; pathAnimation.delegate = self; 这将基本上激活图层从一端到另一端的绘制。 问题是一旦animation完成, strokeEnd属性将重置为0(最初设置的位置)。 我如何使最终的价值“坚持”? 我试图在animationDidStop委托方法中改变这个。 这大部分工作,但可以在0简要地引起一个strokeEnd ,甚至当放入一个CATransaction里面禁用animation。 我也玩过additive和cumulative性质无济于事。 有什么build议么?

如何更改UIPageControl点的边界?

改变颜色是非常简单的,但是可以改变所有未被select的点的边界吗? 例如: dot.layer.borderWidth = 0.5 dot.layer.borderColor = UIColor.blackColor()

屏蔽除UIView之外的所有视图

我在UITableView中有一个透明的节标题,它应该让单元格在它后面滚动,但显示在tableview而不是单元格后面的背景图像。 我需要一种方法来在截面标题上应用某种剪贴蒙版,这样可以使任何浏览下面的视图变得透明,或者将背景图像的相应部分显示为页眉的背景,并在页眉移动时显示。 我已经看到了这个如何在UITableView透明头下掩盖UITableViewCells ,但它不像广告一样工作,通常是一个糟糕的实现。 我也试过这个: – (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor); CGContextFillRect(context, self.frame); CGContextSetBlendMode(context, kCGBlendModeClear); } 在部分标题的子类中,但是这只是显示黑色背景的视图。 如果你需要更多的解释,这里是我有: View post on imgur.com 这是我想要实现的: View post on imgur.com