gpt4 book ai didi

ios - PPSSignatureView 崩溃

转载 作者:行者123 更新时间:2023-11-29 12:24:21 26 4
gpt4 key购买 nike

我正在使用 Xcode 6 为 iOS 7 开发应用程序。我在使用从 GitHub 下载的 PPSSignatureView 组件时遇到问题。我在弹出窗口中显示签名 View 。签名 View 第一次显示它工作正常,一切都很好。但是当我第二次重新显示相同的弹出窗口时,我在 PPSSignatureView.m 中收到错误:

#import <OpenGLES/ES2/glext.h>

// Append vertex to array buffer
static inline void addVertex(uint *length, PPSSignaturePoint v) {
if ((*length) >= maxLength) {
return;
}

GLvoid *data = glMapBufferOES(GL_ARRAY_BUFFER, GL_WRITE_ONLY_OES);
memcpy(data + sizeof(PPSSignaturePoint) * (*length), &v, sizeof(PPSSignaturePoint));
glUnmapBufferOES(GL_ARRAY_BUFFER);

(*length)++;
}

在第二次演示中,glMapBufferOES() 返回 NULL 并且 memcpy() 生成错误

Thread 1:EXC_BAD_ACCESS(code=1, address=0x0)

我不知道 OpenGL 库。我已经阅读了一些关于 OpenGL、Xcode 6 和 iOS8 的 SO 条目,但这些问题涉及编译时错误,而我遇到了运行时错误。有谁知道发生了什么事?

谢谢

编辑:我知道这个错误看起来像是内存不足的错误。我没有收到来自 iOS 的内存警告,我很难相信这是真正的问题。此外,在第二次和后续演示中,如果我在开始绘图之前长按签名 View ,则签名 View 不会崩溃。但是在第二个演示文稿的代码中调用长按操作并不能防止崩溃。

长按代码如下:

- (void)longPress:(UILongPressGestureRecognizer *)lp {
[self erase];
}


- (void)erase {
length = 0;
dotsLength = 0;
self.hasSignature = NO;

[self setNeedsDisplay];
}

最佳答案

我通过添加调用修复了错误

[signatureView erase]

在呈现包含签名 View 的弹出窗口后立即。

关于ios - PPSSignatureView 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29702030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com