Tag: calayer

iOS – CALayer和手势/滑动识别器

我添加了一个图层到我的视图来创build渐变背景颜色,但我需要在我的视图中使用UISwipeGestureRecognizer。 问题是,现在,与图层,刷卡识别器不起作用! 我能怎么做?? 我可以添加滑动识别器到图层吗? 谢谢

我如何能UIImageView在UICollectionViewCell?

在我的UICollectionViewCell类中,我写了这个: – (void)layoutSubviews { [super layoutSubviews]; self.myImageView.layer.cornerRadius = CGRectGetHeight(self.myImageView.frame) / 2; self.myImageView.layer.masksToBounds = YES; } 但是这在所有情况下都不能正常工作,看起来像这样:

当CAEmitterLayer结束CAEmitter单元的生命周期时,如何移除CAEmitterLayer – 而不是直到从超级层中移除CAEmitterLayer

我使用generics代码(来自iOS Fireworks演示)稍微改变了一下。 我有以下在UIView的子类。 我想要的是让烟花出现在用户触摸的地方(不难),并在CAEmitterLayer / CAEmitterCells的“生命周期”长度上播放。 相反,这是立即开始,当我把它添加到addSublayer – 就像我相信它的意思。 不过,我想用稍微不同的方式来使用它。 有没有办法,我可以改变这个,所以有一个完成块(removeFromSuperlayer)或类似的东西的CATransaction? 任何想法都欢迎。 #import "FireworksView.h" @implementation FireworksView – (void)launchFirework{ //Load the spark image for the particle CAEmitterLayer *mortor = [CAEmitterLayer layer]; mortor.emitterPosition = CGPointMake(self.bounds.size.width/2, self.bounds.size.height*(.75)); mortor.renderMode = kCAEmitterLayerAdditive; //Invisible particle representing the rocket before the explosion CAEmitterCell *rocket = [CAEmitterCell emitterCell]; rocket.emissionLongitude = -M_PI / 2; […]

如何在iOS上使用AVMutableComposition和CALayers将多个CALayer添加到video文件中

我想按时间顺序依次添加多个CALayer我可以使用此链接在video文件中添加一个图层。 现在我的问题是,如何将多个CALayer添加到video文件。 提前致谢..

无法在UICollectionViewCell上设置阴影并具有圆angular。 一次只能做一件事

我有一个UICollectionViewCell子类,我需要圆angular,并添加一个阴影。 细胞看起来像一张方形的卡片,细胞之间有很大的空间。 所以在每个细胞的“下面”,我想添加一些阴影。 我可以成功做到这一点,但我的细胞只有底部的圆angular。 顶部只有正常的angular落。 我需要所有四个angular落的圆angular。 我已经在这里find了UIViews解决scheme,build议添加一个单独的UIView作为subview ,但我宁愿避免出于性能的原因。 我find了一个解决方法,就是使用这个方法,你可以在我的代码中find: [UIBezierPath bezierPathWithRoundedRect: cornerRadius:] 但这对我也不起作用。 有没有可能是因为我试图只在底部添加阴影“底部”/在底部的细胞不工作对我来说? 似乎大多数这些答案都是为开发人员想要在整个单元格上添加阴影的问题提供的。 我想我会愿意添加一个特殊的subview到我的UICollectionViewCell子类,但我想用它作为最后的手段。 我的目标是iOS 7+和使用Xcode 6.1.1. 这里是我在我的UICollectionViewCell子类中使用的代码尝试实现阴影和圆angular: – (void)load:(CustomUserObject *)customObject { self.customObject = customObject; // Round cell corners self.layer.cornerRadius = 12; // Add shadow self.layer.masksToBounds = NO; self.layer.shadowOpacity = 0.75f; self.layer.shadowRadius = 10.0f; self.layer.shouldRasterize = NO; self.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(self.frame.size.width/2 – (self.frame.size.width […]

是否有可能使用Cocoa Touch手势识别器与图层/ CALayer对象?

是否有可能使用手势识别器与图层? 比方说,我想添加几个子图层到我的视图,实现拖放以及点击单个元素。 有没有可能? 什么是最好的模式?

在iOS上,CALayer位图(CGImage对象)如何显示在graphics卡上?

在iOS上,我能够创build3个CGImage对象,并以60fps的CADisplayLink使用CADisplayLink self.view.layer.contents = (__bridge id) imageArray[counter++ % 3]; 在ViewController ,每一次,一个图像被设置为视图的CALayer contents ,这是一个位图。 而这一切都可以改变屏幕显示。 屏幕将以60fps循环播放这3张图片。 没有UIView的drawRect ,没有CALayer的display , drawInContext或者CALayer的委托drawLayerInContext 。 它所做的只是更改CALayer的contents 。 我也尝试添加一个较小的子层self.view.layer ,并设置该子层的contents 。 这个子图层将循环通过这3个图像。 所以这与以前甚至在苹果公司(甚至在King's Quest III时代,这是DOSvideo游戏,其中有一个位图,屏幕只是不断显示位图是什么)非常相似。 除了这个时候,它不是一个位图,而是一个树或一个链接的位图列表,并且显卡不断使用画家模型将这些位图(位置和不透明度)绘制到主屏幕上。 所以看来, drawRect ,CALayer,一切都是为了达到最终目的而devise的。 这是如何工作的? 显卡是否采用位图或位图树的有序列表? (然后不断地显示它们,为了简化,我们不考虑CA框架中的隐式animation)在graphics卡处理层中究竟发生了什么? (实际上,这种方法在iOS,Mac OS X和PC上几乎相同?) (这个问题旨在了解我们的graphics编程实际上是如何在现代graphics卡中呈现的,例如,如果我们需要了解UIView和CALayer的工作方式,或者直接使用CALayer的位图,我们需要了解graphics架构。

如何在animation过程中更改CALayer的颜色?

我希望图层从绿色开始,然后慢慢地变成黄色,橙色,最后变成红色。 我该怎么做呢? CAShapeLayer *layer = [CAShapeLayer layer]; [layer setStrokeColor:[UIColor greenColor].CGColor]; [layer setLineWidth:5.0f]; [layer setFillColor:[UIColor clearColor].CGColor]; UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:button.bounds cornerRadius:10.0f]; layer.path = path.CGPath; CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; animation.fromValue = [NSNumber numberWithFloat:0.0f]; animation.toValue = [NSNumber numberWithFloat:1.0f]; animation.duration = 4.0f; [layer addAnimation:animation forKey:@"myStroke"]; [button.layer addSublayer:layer];

如何从UIView的某些部分删除边框?

我有一个包含其他子视图的UIView 。 我正在将边框应用于此UIView ,并将边框应用于整个UIView 。 为了那看见第一个图象。 但是不要在标题所在的"Leaderboard"的边框周围。 我怎样才能删除该部分的边界只。 看到下面的图片,看看在标题排行榜周围没有边框。

CAGradientLayer不工作

我创build了一个新的项目。 我在ViewController.m链接QuartzCore.framework并导入了<QuartzCore/QuartzCore.h> 。 这里是代码。 – (void)viewDidLoad { [super viewDidLoad]; NSLog(@"view height %f", self.view.frame.size.height); // returns 667 on iPhone 6 NSLog(@"view width %f", self.view.frame.size.width); // returns 375 on iPhone 6 NSLog(@"layers count %lu", self.view.layer.sublayers.count); // returns 2 // Gradient UIColor *colorOne = [UIColor blueColor]; UIColor *colorTwo = [UIColor greenColor]; NSArray *colorArray = @[colorOne, colorTwo]; NSNumber *locationOne […]