小编Pro*_*ber的帖子

如何使用CAShapeLayer绘制图形?

是否可以使用CAShapeLayer绘制具有给定线宽的曲线?它似乎只能画出填充的形状.我想绘制一个动画情节图.只是一条线,而不是一个形状.

iphone core-animation cashapelayer ipad ios

2
推荐指数
1
解决办法
1296
查看次数

如何在修改它时安全地循环遍历可变数组?

我有一个controller有阵列控股actors.演员是一个将被调用的对象controller.

问题:controller迭代actors数组并发送每个actor -actionMessage.actor可以创建并注册另一个actor controller,或者从控制器的actors数组中删除一个actor甚至自己.它通过两种方法路由:

-registerActor:(Actor*)actor;
-unregisterActor:(Actor*)actor;
Run Code Online (Sandbox Code Playgroud)

因此,当控制器迭代actor数组时,actor的列表可以改变.编辑:任何新添加的演员也必须经历循环.

处理这个问题的最佳做法是什么?我应该在迭代之前创建一个actors数组的副本吗?

arrays iphone objective-c ios

2
推荐指数
1
解决办法
788
查看次数

如何将浮点数舍入到最接近的值,可以除以2而不休息?

例如,我有一个浮动55.2f,并希望将其向下舍入,以便结果可以除以两个而不休息.

因此,55.2将变为54,因为这是最接近的较小的"步",可以除以2.有这个功能还是我必须编写自己的算法?

c objective-c

2
推荐指数
1
解决办法
1116
查看次数

如何将NSDate的本地化日期作为字符串?

我有一个NSDate对象,并且必须创建一个标签,用一个简短的3-char样式表示星期几,如'Mon','Tue','Wed',......并且本地化为任何语言的短表示.

日期格式化程序EEE有3个字符,但是它如何转换为像中文这样可能只有一个字符的语言?

iphone nsdate nsdateformatter ipad ios

2
推荐指数
1
解决办法
6184
查看次数

为什么我不能在CABasicAnimation完成后设置图层的不透明度?

我有一个名为sublayer的视图specialLayer.不透明度的隐式动画被禁用,如下所示:

self.specialLayer.actions = [NSDictionary dictionaryWithObjectsAndKeys:
                                            [NSNull null], @"opacity", nil];
Run Code Online (Sandbox Code Playgroud)

访问此子图层的方法只有两种.

- (void)touchDown {
    self.specialLayer.opacity = 0.25f;
}

- (void)touchUp {
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"];
    animation.fromValue = [NSNumber numberWithFloat:self.specialLayer.opacity];
    animation.toValue = [NSNumber numberWithFloat:1.0];
    animation.duration = 0.5;
    animation.removedOnCompletion = NO;
    animation.fillMode = kCAFillModeForwards;
    animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
    [self.specialLayer addAnimation:animation forKey:@"opacity"];
}
Run Code Online (Sandbox Code Playgroud)

有时候是这样的:

1)用户按下按钮(保持)并调用-touchDown.specialLayer的不透明度立即变为0.25

2)用户释放按钮和-touchUp被调用.specialLayer的不透明度可以恢复为1.0

此序列仅适用于ONCE!

3)用户再次按下按钮(按住)并调用-touchDown.但specialLayer的不透明度在屏幕上不会改变!即使self.specialLayer.opacity = 0.25f;被召唤也没有任何事情发生.不透明度似乎仍为1.0f.

4)用户抬起手指并调用-touchUp.specialLayer的不透明度为0.25,从那里动画到1.0f.

我检查了NSLog以确保按此顺序调用方法.他们是这样.

当我取消注释动画代码并将不透明度直接设置为1.0时,后续的直接不透明度更改立即生效.绝对是导致问题的CABasicAnimation.删除禁用隐式动画的代码对此问题没有影响.

我不能为我的生活弄清楚这里发生了什么.为什么在我为不透明度添加CABasicAnimation之后的一段时间后,CALayer没有反映我设置的不透明度值?这是一个错误吗?

我究竟做错了什么?

iphone core-animation calayer ipad ios

2
推荐指数
1
解决办法
3041
查看次数

如何禁用MKNetworkKit或MKNetworkEngine中的缓存?

我正在尝试使用MKNetworkEngine,但标题谈论缓存.这对我的应用程序来说是完全不好的,它需要下载货币汇率JSON文件和缓存是不行的.

有没有办法为整个MKNetworkEngine实例关闭缓存?

iphone networking ipad ios mknetworkengine

2
推荐指数
1
解决办法
1884
查看次数

如何提供像开发人员这样的可变应用内购买价格?

我在这篇文章中读到了一个开发人员,他有一个"所有你可以吃"的In App Purchases包.此包装的价格取决于您在购买包装之前购买的其他IAP的价格.因此,当用户已经花钱购买单个物品时,它会对用户进行补偿,然后决定让所有你可以吃的扁平包装.

这怎么在技术上完成?我看不出Apple会如何让应用程序决定应用内购买商品的价格.唯一的解释是,他们为不同价格的同一包创建了许多应用内购买商品.这是怎么做的?

iphone in-app-purchase ipad ios

2
推荐指数
1
解决办法
658
查看次数

使用Parse与AWS开发Web应用程序的优缺点是什么?

据我所知,Parse为各种平台(如iOS)提供了方便的通信堆栈,因此很容易构建使用您的Web应用程序的客户端.

但Parse似乎也与Facebook紧密结合.如果你要建立一个Web应用程序,这并不需要Facebook的,但可能与Facebook的长期整合,被解析的赢家过直接部署到AWS,或者是需要考虑是否有重要的缺点?

amazon-web-services parse-platform

2
推荐指数
1
解决办法
2885
查看次数

对于随机性,Mersenne Twister算法是否有稳定的Objective-C实现?

我真的很想用Mersenne Twister作为arc4random的替代品.所以为了让我的生活不那么难,如果在Objective-C中有一个实现,我可以简单地添加到我的项目中.

所以我搜索并找到了这个:Objective-C中的Mersenne Twister

不幸的是,作者在帖子中写道:

对于我添加的"-0.5",我并不确定该实现是否100%正确.

我无法验证它是否正确,但当然如果"翻译者"不确定它的正确性,使用第三方实现而不是原始实现是愚蠢的.

也许我应该使用C实现并编写一个Objective-C接口来访问这些函数?有没有其他人这样做?

c iphone random objective-c

1
推荐指数
1
解决办法
464
查看次数

如何为使用CGBitmapContextCreate()创建的绘图画布设置背景颜色?

我假设如果我使用设备颜色空间(RGBA,所以使用alpha),背景是自动透明的.但我不确定.

如何明确设置绘图画布或位图上下文的背景颜色,以确保它在创建时是透明的?

iphone cocoa-touch core-graphics ipad ios

1
推荐指数
1
解决办法
2679
查看次数