草庐IT

iphone - 更改 UIView 的 CALayer 框架(self.view.layer.frame = ...)似乎没有效果

我确定我在这里遗漏了一些基本的东西。我正在尝试来自以下位置的CALayers'helloworld'代码:http://www.raywenderlich.com/2502/introduction-to-calayers-tutorial做第一个例子。xcode4.2中的新单View项目。Nib/Storyboard没有变化。导入quartz核。将以下代码添加到ViewController.m中的ViewDidLoad中:-(void)viewDidLoad{[superviewDidLoad];self.view.layer.backgroundColor=[UIColorblue

objective-c - 有人可以向我解释 CALayer contentsRect 属性的坐标系吗?

我意识到CALayer(documentationhere)的contentsRect属性允许定义用于绘图的层的多少,但我不明白如何我认为坐标系有效。似乎当宽度/高度较小时,用于内容的区域较大,反之亦然。同样,负x,y位置似乎将内容区域向下和向右移动,这与我的直觉相反。谁能解释一下这是为什么?我确信这是有充分理由的,但我想我缺少一些图形编程背景。 最佳答案 thecontentsRectpropertyofCALayer(documentationhere)allowsonetodefinehowmuchofthelayertous

ios - 防止来自 CALayer renderInContext 的抗锯齿

我有一个非常简单的UIView,其中包含一些黑白UIImageView。如果我通过设备上的物理按钮截取屏幕截图,生成的图像看起来与我看到的完全一样(如预期的那样)——如果我在像素级别检查图像,它只是黑白的。但是,如果我使用以下代码片段以编程方式执行相同的操作,生成的图像似乎应用了抗锯齿-所有黑色像素都被淡淡的灰色光晕包围。我的原始场景中没有灰色-它是纯黑色和白色,“屏幕截图”图像的尺寸与我以编程方式生成的图像的尺寸相同,但我似乎无法弄清楚灰色光晕的来源。UIView*printView=fullView;UIGraphicsBeginImageContextWithOptions(pr

iphone - 使用 CALayer 作为 subview 的动画 UIView 框架

我有什么:我有一个UIView's的层次结构和一个CAGradientLayer,我用它来设置这个层次结构的“背景颜色”。所以我有这样的东西:ViewA->ViewB->CAGradientLayer我在做什么:有一次,我想为ViewA的frame(仅它的高度)设置动画。所以它会是这样的:[UIViewanimateWithDuration:timeIntervaldelay:0options:UIViewAnimationOptionCurveEaseInanimations:^{viewA.frame=newFrame;}];问题:问题在于CAGradientLayer不会为其框架

ios - CALayer 优化?

我添加了几个CALayer作为UIView层的子层。每一层的内容是从服务器下载的不同图像。每个图层都从屏幕外动画到随机生成的位置。图像数据是异步下载的。每张图片大约为300x300或更小。由于随机放置,图层重叠,有些图层被其上方的图层遮挡。这一切都很好。我正在使用theanswertothisquestion中的建议移除图层,因为它们在View中变得完全模糊确定覆盖率的计算发生在单独的线程上。我有一个UIPanGestureRecognizer,允许用户在屏幕上拖动图层。当添加的层数接近25-30并逐渐变得更糟时,我遇到了性能问题。动画变得断断续续并且经常完全消失(新添加的层只是出现在

ios - 未捕获的异常 : CALayer position contains NaN when doing animation

当我在iPad上运行时,我的应用程序出现此错误:Uncaughtexception:CALayerpositioncontainsNaN相同的代码在iPhone上运行良好。-(void)mapView:(MKMapView*)mapViewdidAddAnnotationViews:(NSArray*)views{AnnotationView*aV;for(aVinviews){//Don'tpindropifannotationisuserlocationif([aV.annotationisKindOfClass:[MKUserLocationclass]]){continue;}

ios - CALayer autoresizingMask 不适用于 iOS SDK?

我注意到,iOSSDK上的CALayer没有autoresizingMask属性。我不确定什么方法“setFrame:”的自定义重载可以正常使用动画子层自动调整大小。有没有不使用UIView的替代方案? 最佳答案 如果你不想继承CALayer并将图层添加到UIView的图层,那么你可以覆盖-(void)layoutSublayersOfLayer:(CALayer*)layer观察方法。 关于ios-CALayerautoresizingMask不适用于iOSSDK?,我们在StackO

ios - CALayer 没有像 UIView 动画一样的动画

我有一个包含16个子层以形成Logo的类。当我为UIView设置动画时,CALayers没有设置动画,而是进入最终状态,如下面的动画gif所示:我的代码是:@implementationLogoView#defineCGRECTMAKE(a,b,w,h){.origin={.x=(a),.y=(b)},.size={.width=(w),.height=(h)}}#pragmamark-CreateSubviewsconststaticCGRectpath[]={CGRECTMAKE(62.734375,-21.675000,18.900000,18.900000),CGRECTMAK

iphone - 那么 CALayer 不包含 View 的内容位图?

来自文档:"Layersarelightweightobjects(CALayer)that,thoughsimilartoviews,areactuallymodelobjectsassignedtoviews."对我来说,轻量级排除了内容的任何重位图。我相信CALayer是“真实”的东西,而UIView只是它的包装器。每个View在不同的树(模型、演示、渲染)中都有3个CALayer。所以没有3个位图?只有一个? 最佳答案 关于CALayer的术语“轻量级”来自于Mac上的那篇文档。正如Joe指出的那样,与iPhone的UIVi

ios - CALayer 的实体阴影

我有一个正在转换阴影的动画CALayer。这就是我打算做的,但我正在寻找一种方法来获得没有模糊的实心阴影。更改模糊半径并不能解决我的问题。有什么想法吗?非常感谢。myLayer.shadowRadius=3;//shadowBlurRadiusmyLayer.shadowColor=[[UIColorgreenColor]CGColor];//intendedistogetagreensolidshadowwithoutblur 最佳答案 如果你不想模糊,你可以:myLayer.shadowColor=[[UIColorgreenC