小编Eck*_*dia的帖子

CALayer Resize很慢

我在编写一些代码时出现了一些性能问题,这些代码是为使用触摸调整CALayer大小而编写的.它工作正常,但动画远远不够活泼,落后于触摸位置.

CGPoint startPoint;
CALayer *select;

- (CGRect)rectPoint:(CGPoint)p1 toPoint:(CGPoint)p2 {
     CGFloat x, y, w, h;
     if (p1.x < p2.x) {
         x = p1.x;
         w = p2.x - p1.x;
     } else {
         x = p2.x;
         w = p1.x - p2.x;
     }
     if (p1.y < p2.y) {
         y = p1.y;
         h = p2.y - p1.y;
     } else {
         y = p2.y;
         h = p1.y - p2.y;
     }
     return CGRectMake(x, y, w, h);
 }

 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
     UITouch *t1 = [[[event …
Run Code Online (Sandbox Code Playgroud)

iphone core-graphics calayer quartz-graphics ios

11
推荐指数
2
解决办法
1649
查看次数

分裂比Multiply慢吗?

好吧,这可能听起来像一个奇怪的问题,但它是一个有趣的问题.我正在为iOS编码,并且被告知最好是乘以而不是除以值,因为它更快.

我知道这些天的处理器可能会让这个问题变得没有问题,但我的好奇心已经变得更好了,我想知道是否有人能为我揭示这一点.

所以.....我的问题是这个 -
是:

player.position = ccp(player.contentSize.width / 2, winSize.height / 2);
Run Code Online (Sandbox Code Playgroud)

慢于:

player.position = ccp(player.contentSize.width * 0.5, winSize.height * 0.5);
Run Code Online (Sandbox Code Playgroud)

c performance xcode objective-c ios

6
推荐指数
2
解决办法
1066
查看次数

MPMoviePlayer或AVPlayer帧前进

有没有办法使用MPMoviePlayer或AVPlayer逐帧播放视频文件?或者甚至是另一个我不知道的电影播放器​​?

这就是我想要做的.我想将视频加载到全屏播放器中,并根据用户交互一次移动一帧内容.这需要非常可靠,因为我需要准确控制电影播放器​​在任何时间显示的帧.

理想情况下,我很想知道是否可以加载视频并使用代码控制显示的帧.

我知道我可以使用UIImageView动画做到这一点,但是测试显示这会使用FAR来获取更多内存.

iphone mpmovieplayercontroller ios avplayer

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

来自CGImageRef的UIImage

我正在尝试一个更复杂的项目的简单测试,但我感到困惑的是为什么下面的代码崩溃并给出一个EXC_BAD_ACCESS错误?

这是从UIView调用的.

 - (void)testing {
      NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"ball.png" ofType:nil];
      CGImageRef imageRef = [[[UIImage alloc]initWithContentsOfFile:imagePath]CGImage];
 //   CGImageRetain(imageRef);

      UIImage *newImage = [[UIImage alloc]initWithCGImage:imageRef];
      UIImageView *iv = [[UIImageView alloc]initWithImage:newImage];
      [self addSubview:iv];
 }
Run Code Online (Sandbox Code Playgroud)

我的猜测是CGImageRef没有被保留但是添加了CGImageRetain(imageRef); 没有区别.

我还应该注意到这个项目已经启用了ARC.

编辑

我做了一些测试,并发现这与ARC直接相关,因为我创建了2个基本项目,仅包括上面的代码.ARC的第一个关闭,它完美地工作.ARC的下一个打开,BAM崩溃并出现同样的错误.有趣的是,我在崩溃前第一次运行项目时才遇到实际的日志错误.

 Error: ImageIO: ImageProviderCopyImageBlockSetCallback 'ImageProviderCopyImageBlockSetCallback' header is not a CFDictionary...
Run Code Online (Sandbox Code Playgroud)

uiimage ios ios5

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

如何使用for循环显示UIImage的NSArray

嘿伙计们,所以......让我说我有一张NSArray图片

NSMutableArray *images = [NSMutableArray new];
[images addObject:[UIImage imageNamed:@"line1.png"]];
[images addObject:[UIImage imageNamed:@"line2.png"]];
[images addObject:[UIImage imageNamed:@"line3.png"]];
[images addObject:[UIImage imageNamed:@"line4.png"]];
Run Code Online (Sandbox Code Playgroud)

现在我想使用for循环一次加载所有这些但是这里是catch ....我需要能够将图像设置为隐藏,直到用户通过交互取消隐藏.

 for (UIImage *image in images) {
    UIImageView *line = [[UIImageView alloc] initWithImage:image];
    line.hidden = YES;
    [self.view addSubview:line];
}
Run Code Online (Sandbox Code Playgroud)

但那么如何使用其他方法将隐藏的BOOL设置为NO?

作为第二个问题,如何在上面的代码中释放*行?

谢谢,达伦

ios4 ios

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

关于int的简单问题

好的....这似乎是一个简单的问题,但我找不到任何关于它的信息,所以我想我会在这里问.

我试图在var中存储一个数字(int),但我需要在它之前保留0

例如:

int x = 0001;
NSLog(@"%i",x)  // returns 1
Run Code Online (Sandbox Code Playgroud)

有可能让它返回0001吗?

我知道我可以这样做:

NSLog(@"%04i",x);  // returns 0001
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的答案,因为0的数量需要变化.

我没有特别需要使用int但它需要是一个整数.

iphone objective-c

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