在提交到App Store之前,最好再次准确地测试App.我倾向于在设备上安装我的应用程序并暂时给它一个朋友.然后我收集反馈并开始相应地更改我的应用程序.
我想知道你的测试策略是什么.
在代码片段中,我看到了这个:
size_t w = CGImageGetWidth(inImage);
Run Code Online (Sandbox Code Playgroud)
文档没有给我任何关于"size_t"的有用信息.有谁知道这是什么?
CAMediaTiming协议定义了timeOffset属性.现在,他们说这是一个时间偏移.这听起来很简单,但是,例如,当我将它设置为15.0时,动画仍然会立即启动.timeOffset似乎没有任何效果.
也许有人可以指出一点点?
例:
- (NSString*) title {
return [[title retain] autorelease];
}
Run Code Online (Sandbox Code Playgroud)
二传手实际上已经保留了它,对吧?实际上没有人应该绕过Setter ......所以我想知道为什么吸气剂不仅仅会返回物体?它实际上已经保留了下来.或者只是在同时将另一个对象传递给setter的情况下才需要它?
在Apple的例子中,我看到了这个:
myController *controller = [viewControllers objectAtIndex:page];
if ((NSNull *)controller == [NSNull null]) {
controller = [[myController alloc] initWithPageNumber:page];
[viewControllers replaceObjectAtIndex:page withObject:controller];
[controller release];
}
Run Code Online (Sandbox Code Playgroud)
我对这一行非常感兴趣:
if ((NSNull *)controller == [NSNull null]) {
Run Code Online (Sandbox Code Playgroud)
如果我愿意这样做,我会检查是否为零.为什么他们这样做太复杂了?那到底是做什么的?对我来说,看起来他们正在将控制器对象转换为NSNull,然后检查它是否与NSNull中的null相同.
AFAIK nil表示"无对象",null表示"无".请帮我看清楚图片吧!
当Xcode创建一个新文件时,标题中总会有这样的内容:
// Copyright 2009 __MyCompanyName__. All rights reserved.
Run Code Online (Sandbox Code Playgroud)
我怎么能改变呢?
出于某种原因,Xcode"Groups&Files"中的表示与我所有真实项目文件所在的文件夹中的文件层次结构不匹配.出于某种原因,我无法复制整个组甚至单个文件并将其放入另一个项目中.所以我在"群组和文件"中有一个很好的图像层次结构,但所有这些有序的图像都是无序的,只是在我的文件系统中只有一个巨大的文件夹.太可怕了;)
所以现在我想将我的所有图标放到另一个项目中,但我不能复制组"img> gui> icons".我必须从我的文件系统中挑选每一个图标图像,其中图标与几百个其他图像和文件混合在一起.
是否有一些我可以激活的隐藏选项,以便Xcode能够在文件系统上的项目文件夹中重现"Groups&Files"的层次结构?或者我怎么能复制这些文件?
我有这个代码来掩盖图像.基本上,我只使用PNG图像.所以我有一个300x400的PNG图像,24位色(PNG-24).我不确定它是否也有alpha通道.但它没有透明度.
然后,有没有alpha通道的PNG-8bit的图像掩码.它只是黑色,灰度和白色.
我创建了两个图像作为UIImage.将它们放入UIImageView时,两者都能正确显示.
然后我创建了一个UIImage,它包含了掩码操作的结果,使用以下代码:
+ (UIImage*)maskImage:(UIImage*)image withMask:(UIImage*)maskImage {
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
return [UIImage imageWithCGImage:masked];
}
Run Code Online (Sandbox Code Playgroud)
这就是我用它做的事情:
UIImage *image = [UIImage imageNamed:@"coloredImagePNG24.png"];
UIImage *maskImage = [UIImage imageNamed:@"theMaskPNG8_Grayscale_NoAlpha.png"];
UIImage *maskedImage = [MyGraphicUtils maskImage:image withMask:maskImage];
UIImageView *testImageView = [[UIImageView alloc] initWithImage:maskedImage];
testImageView.backgroundColor = [UIColor clearColor];
testImageView.opaque = NO;
Run Code Online (Sandbox Code Playgroud)
毕竟,coloredImagePNG24.png保持原样完好无损.没有掩盖正在发生.但现在奇怪的是:如果我把它转过来,即使用这个图像作为蒙版,并将蒙版作为彩色图像到蒙版,那么我会得到灰度非常难看的东西(但是蒙版;)).
知道我的代码有什么问题吗?
更新:我只是用谷歌搜索一个不同的黑白png用它作为掩码.然后这个工作了!但我自己制作的那个不起作用.所以我假设代码有很大的图像解码问题.我必须将图像"规范化"为特定格式,以便它可以工作.