小编sch*_*dt9的帖子

如何设置CGBITMAP_CONTEXT_LOG_ERRORS环境变量?

使用时CGBitmapContextCreate我在XCode中得到错误

CGBitmapContextCreate:不支持的参数组合:设置CGBITMAP_CONTEXT_LOG_ERRORS环境变量以查看详细信息

我该如何设置这个var?

我尝试 launchctl setenv CGBITMAP_CONTEXT_LOG_ERRORS /Users/user/Documents/cgbitmap_errors.loglaunchctl setenv CGBITMAP_CONTEXT_LOG_ERRORS 1重新启动XCode但没有成功.

我也尝试过组合defaults write com.apple.dt.Xcode UseSanitizedBuildSystemEnvironment -bool NO,也没有成功

我也重启了电脑

xcode core-graphics ios

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

将UIScrollView中未缩放的视图缩放到边界

我需要将灰色视图内的红色视图放大到滚动视图内的给定红色边界(在这种情况下,滚动视图边框取决于给定的宽度/高度比),同时保持视图的可见尺寸不变。他们还应该始终触摸绿色边框。

我尝试在此视图上使用缩放变换来实现此目的,以便在放大滚动视图时,我使用公式1 / zoomScale并更改其锚点来缩小此视图,以使其保持绿色边框。

问题是在进行所有这些操作后,我不知道如何为红色视图计算目标边界rect,因此我可以使用适当的滚动到它zoomScale

请在此处查看完整的演示项目

编辑

灰度视图可能会缩小滚动视图边界(请参见上一张图片),主要是要在滚动视图边界内放入由红色视图包围的绿色矩形(您可能会认为它们是绿色区域的负插图),因此我们应该实际计算考虑到绿色矩形的起始和结束尺寸,应将红色视图“固定”到该矩形。

基本方法

- (void)adjustScrollPositionAndZoomToFrame:(CGRect)frame
{
    CGFloat viewWidth = frame.size.width;
    CGFloat viewHeight = frame.size.height;

    CGFloat scrollViewWidth = self.scrollView.frame.size.width;
    CGFloat scrollViewHeight = self.scrollView.frame.size.height;

    CGSize newSize = [self scaleSize:frame.size toHeight:scrollViewHeight];

    if (newSize.width > scrollViewWidth) {
        newSize = [self scaleSize:frame.size toWidth:scrollViewWidth];
    }

    CGFloat scaleFactor = newSize.height == scrollViewHeight
        ? scrollViewHeight / viewHeight
        : scrollViewWidth / viewWidth;

    [self scrollRect:frame toCenterInScrollView:self.scrollView animated:NO];

    self.scrollView.zoomScale = scaleFactor;
}
Run Code Online (Sandbox Code Playgroud)

缩放比例

- (void)handleZoom:(CGFloat)zoom
{
    NSArray *anchorPoints = …
Run Code Online (Sandbox Code Playgroud)

algorithm objective-c uiscrollview cgaffinetransform

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

Objective C - 如何使用NSTimeZone获取原始偏移(无DST)

我想从GMT获得原始抵消.我知道答案可能是这样的:

NSTimeZone *zone = [NSTimeZone timeZoneWithName:@"Europe/Berlin"];
NSInteger *offset = [zone secondsFromGMT];
Run Code Online (Sandbox Code Playgroud)

(比如这里:iOS - 如何获得时区的原始偏移量?)

但问题是,它没有给我原始偏移量(柏林+1),但只与DST(+2)相抵消,即当前日期.

objective-c dst nstimezone

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