小编Kib*_*tik的帖子

是否可以在Xcode中禁用Swift文档?

我没有使用Swift,所以我不需要在Xcode中使用它的文档.目前它只是与Objective C文档混淆.

是否可以在Xcode中禁用Swift部分文档?

xcode swift

16
推荐指数
2
解决办法
1028
查看次数

如何在应用自动布局后获取UIImageView大小?

我的故事板有UIImageView,它可以通过自动布局约束自动定位和缩放.

应用程序运行时,会根据设备屏幕大小和自动布局限制正确调整此UIImageView的大小和位置.

如何在屏幕上显示UIImageView框架获取它?常见的UIImageView.bounds和UIImageView.frame值返回在故事板中使用的原始值,并且不反映新的UIImageView大小.

objective-c ios

8
推荐指数
2
解决办法
3813
查看次数

以编程方式截取 NSView 或 NSWindow 屏幕截图?

我需要将 NSView 捕获到图像中。捕获 NSWindow 也很好 - 我可以稍后裁剪出必要的视图。

我有两个要求:(1)我在视图上有半透明的按钮;(2) 即使视图部分超出屏幕,我也需要捕获图像。

这是我想要捕捉的视图:

在此输入图像描述

这四种方法我都试过了,没有一个能达到我想要的效果。

方法一。

NSImage *image = [[NSImage alloc] initWithData:[view dataWithPDFInsideRect:viewRect]];
NSData *imageData = [image TIFFRepresentation];
[imageData writeToFile:fName atomically:NO];
Run Code Online (Sandbox Code Playgroud)

此方法保留按钮透明度,但忽略其图层添加,如花哨的边框:

在此输入图像描述

方法2.

这是捕获 NSView 内容的推荐方法:

NSBitmapImageRep *imageRep = [view bitmapImageRepForCachingDisplayInRect:viewRect];
[view cacheDisplayInRect:viewRect toBitmapImageRep:imageRep];
NSImage *image = [[NSImage alloc] initWithSize:viewRect.size];
[image addRepresentation:imageRep];
NSData *imageData = [image TIFFRepresentation];
[imageData writeToFile:fName atomically:NO];
Run Code Online (Sandbox Code Playgroud)

此方法保留图层特征但忽略按钮透明度:

在此输入图像描述

方法3.

这个方法只是将视图层渲染成图像:

NSImage *image = [[NSImage alloc] initWithSize:viewRect.size];
[image lockFocus];
CGContextRef ctx = [NSGraphicsContext currentContext].graphicsPort;
[view.layer renderInContext:ctx];
[image unlockFocus];
NSData *imageData = [image …
Run Code Online (Sandbox Code Playgroud)

macos screenshot objective-c

6
推荐指数
0
解决办法
706
查看次数

标签 统计

objective-c ×2

ios ×1

macos ×1

screenshot ×1

swift ×1

xcode ×1