小编aka*_*aru的帖子

如何获取UICollectionViewCell的矩形?

UITableView有方法rectForRowAtIndexPath:,但这在UICollectionView中不存在.我正在寻找一个很好的干净方法来获取一个单元格的边界矩形,也许我可以添加一个类别UICollectionView.

uitableview ios ios6 uicollectionview

60
推荐指数
4
解决办法
3万
查看次数

问题设置图像的exif数据

我在iOS 4.1中使用新的ImageIO框架.我使用以下代码成功检索exif元数据:

CFDictionaryRef metadataDict = CMGetAttachment(sampleBuffer, kCGImagePropertyExifDictionary , NULL);
Run Code Online (Sandbox Code Playgroud)

阅读它,它似乎是有效的.保存图像有效,但图像中从不存在任何exif数据.

    CGImageDestinationRef myImageDest = CGImageDestinationCreateWithURL((CFURLRef) docurl, kUTTypeJPEG, 1, NULL);

    // Add the image to the destination using previously saved options. 
    CGImageDestinationAddImage(myImageDest, iref, NULL);

    //add back exif
    NSDictionary *props = [NSDictionary dictionaryWithObjectsAndKeys:
                            [NSNumber numberWithFloat:.1], kCGImageDestinationLossyCompressionQuality,
                           metadataDict, kCGImagePropertyExifDictionary, //the exif metadata
                                                        nil];

                          //kCGImagePropertyExifAuxDictionary

    CGImageDestinationSetProperties(myImageDest, (CFDictionaryRef) props);

    // Finalize the image destination. 
    bool status = CGImageDestinationFinalize(myImageDest);
Run Code Online (Sandbox Code Playgroud)

iphone macos exif core-graphics javax.imageio

55
推荐指数
3
解决办法
3万
查看次数

Grand Central Dispatch(GCD)与performSelector - 需要更好的解释

我在我的应用程序中使用了GCD和performSelectorOnMainThread:waitUntilDone,并且倾向于认为它们是可互换的 - 也就是说,performSelectorOnMainThread:waitUntilDone是GCD C语法的Obj-C包装器.我一直在考虑这两个命令是等价的:

dispatch_sync(dispatch_get_main_queue(), ^{ [self doit:YES]; });


[self performSelectorOnMainThread:@selector(doit:) withObject:YES waitUntilDone:YES];
Run Code Online (Sandbox Code Playgroud)

我不对吗?也就是说,performSelector*命令与GCD命令有区别吗?我已经阅读了很多关于它们的文档,但还没有看到明确的答案.

iphone multithreading objective-c grand-central-dispatch ios

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

重新加载UICollectionView页眉或页脚?

我有一些数据是在另一个更新UICollectionView标头的线程中获取的.但是,我没有找到一种重新加载补充视图(如页眉或页脚)的有效方法.

我可以打电话collectionView reloadSections:,但这会重新加载整个部分,这是不必要的.collectionView reloadItemsAtIndexPaths:似乎只针对细胞(不是补充观点).并且调用setNeedsDisplay标题本身似乎也不起作用.我错过了什么吗?

ios6 uicollectionview

34
推荐指数
4
解决办法
3万
查看次数

如何将exif元数据写入图像(不是相机胶卷,只是UIImage或JPEG)

我知道如何使用ALAssets保存元数据.但是,我想保存一个图像,或者将其上传到某处,exif完好无损.我有exif数据作为NSDictionary.但是如何将其正确地注入UIImage(或者可能是NSData JPEG表示)?

iphone exif ios ios5

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

(比例)在某一点放大UIView

我不了解转化的东西.我想放大一下UIView的右上角(主视图).我使用CGAffineTransformScale并试过设置center/anchorPoint以及CGAffineTransformMakeTranslation无效.

我无法弄清楚如何正确设置翻译,以便放大这一点.

CGAffineTransform tr = CGAffineTransformScale(self.view.transform, 2, 2);

[UIView animateWithDuration:2.5 delay:0 options:0 animations:^{
            self.view.transform = tr;
            self.view.center = CGPointMake(480,0);

} completion:^(BOOL finished) {}];
Run Code Online (Sandbox Code Playgroud)

iphone core-animation quartz-graphics cgaffinetransform ios

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

如何在给定一组点的情况下计算平滑路径的控制点?

我正在使用UIBezierPath,但这个问题涉及路径的控制点,而不是绘图.给定一组点,我可以渲染一条路径.但是,我还没有弄清楚如何计算控制点以获得平滑的线条,就像在照片曲线编辑器中一样(如何在UIKit中实现Photoshop曲线编辑器).

我见过的最接近的答案是:如何在触摸时追踪手指的移动以绘制平滑的曲线?

但是,我仍然无法掌握正确的计算方法.在代码中总结一下:

for (int i = 0; i< points; i++) 
{
     ...

     [path addQuadCurveToPoint:nextPoint controlPoint:WTF];
}
Run Code Online (Sandbox Code Playgroud)

iphone bezier objective-c quartz-graphics ios

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

使用核心图像滤镜分割音效?

我理解分音效果背后的原理,并且喜欢使用单个rgb通道的色彩图或色调曲线.不幸的是,目前iOS不是一个选项,因为SDK不包含这些过滤器.

我提出的唯一的黑客攻击(除了通过opengl进行渲染)是复制图像,调整高光中的色调,另一个中的阴影,以及组合它们.但是,我更喜欢一种不需要双链复合操作的简单方法.

iOS 5中任何当前可用的核心图像过滤器链是否可以实现这种效果?

iphone opengl-es core-image ios ios5

12
推荐指数
2
解决办法
4105
查看次数

适用于iOS 4的Circumvent截图

我希望在关闭应用程序之前清除视图,以更改启动图像,以便下次输入应用程序时,它不会显示某些不安全的数据.

iOS 4的提供applicationDidEnterBackgroundapplicationWillResignActive......然而,这些都不似乎能够防止屏幕截图被采取之前,我有机会以清除视图.

iphone objective-c ipad ios

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

UIView隐藏的财产......还有更多吗?

来自ActionScript,我会将Sprites设置为visible = false,以防止它们在布局等方面进行计算,并确保它们不会响应事件.

在iOS开发中,我继续这样做 - 如果不需要UIView,我可以将其alpha设置为零,然后设置hidden = true.我想知道自己是在浪费时间,还是知道这有什么好处.在我目前的项目中,我正在使用UIImageViews这样做,无论如何都没有响应事件.

将隐藏设置为真正的良好实践,还是仅仅是额外的开销?

iphone events layout uiview ios

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