Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用用户触摸调整视图大小_Iphone_Objective C_Ios_Xcode_View - Fatal编程技术网

Iphone 使用用户触摸调整视图大小

Iphone 使用用户触摸调整视图大小,iphone,objective-c,ios,xcode,view,Iphone,Objective C,Ios,Xcode,View,这是在继续 总之: 1) 我想在我的应用程序中安装可调整大小的摄像机。我去下载并实现了它 (二) 3) 在我的委托方法中 - (void)userResizableViewDidEndEditing:(SPUserResizableView *)userResizableView { CGRect ResizableViewFrame = self.userResizableView.frame; NSLog(@" %f--- %f--- %f--- %f ---",userR

这是在继续

总之:

1) 我想在我的应用程序中安装可调整大小的摄像机。我去下载并实现了它

(二)

3) 在我的委托方法中

- (void)userResizableViewDidEndEditing:(SPUserResizableView *)userResizableView
{
    CGRect ResizableViewFrame = self.userResizableView.frame;
    NSLog(@" %f--- %f--- %f--- %f ---",userResizableView.frame.origin.x,userResizableView.frame.origin.y,userResizableView.frame.size.width,userResizableView.frame.size.height);
    captureVideoPreviewLayer.frame = ResizableViewFrame;
    NSLog(@" %f--- %f--- %f--- %f ---",captureVideoPreviewLayer.frame.origin.x,captureVideoPreviewLayer.frame.origin.y,captureVideoPreviewLayer.frame.size.width,captureVideoPreviewLayer.frame.size.height);
}
4) 现在我的avcapturePreview有点疯狂了;一旦开始编辑,它就不会接触视图的上边缘。它会粘在右下角,但不会完全填满视图

代理中的slog记录预览视图和用户可调整大小视图的相等值。

只需添加:

[captureVideoPreviewLayer setNeedsLayout];
[captureVideoPreviewLayer setNeedsDisplay];

在委托方法的末尾,向UIKit发出边界已更改且层的内容需要更新的信号。

可能是AVCaptureVideoPreviewLayer存在错误,您无法在屏幕上更改帧。也许你可以尝试调整大小,你应该1)拍摄一幅静止图像2)让用户调整图像的大小3)删除预览层,然后用新帧再次添加它
[captureVideoPreviewLayer setNeedsLayout];
[captureVideoPreviewLayer setNeedsDisplay];