CGContextSaveGstate: invalid context 0x0
어제 xcode 콘솔에서 경고 로그를 인쇄하는 것을 무심코 보았습니다.한마디로 결벽증이 없는 프로그래머는 좋은 프로그래머가 아니다. 나는 그것을 없애고 싶다.
콘솔 로그
CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
CGContextSetBlendMode: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
CGContextSetBlendMode: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
인터넷에서
CGContextSaveGState
오보에 관한 많은 문제를 보았는데 다음과 같은 몇 가지가 있다. 1. statusBar의 문제 양식에 관한 문제.2. 드로잉 정보는 drawRect에서 수행되지 않습니다.(이상 두 가지 모두 도모가 해결할 수 있는 방법을 얻을 수 있다.)포인트가 왔어요.
내 공사에서 첫째, 그림을 그리지 않았다.2. 상태 표시줄을 수정하지 않았습니다.
、 。
원인
나는 채팅 배경 기포를 쓰고 그림을 펼칠 때 다음과 같은 문제가 생겼다. 나는 그림의 넓이를 얻었다. (20,20).UIEdgeInsetsMake(16, 7, 3, 13)를 설정합니다.좌우의 스트레칭 테두리를 7 + 13 = 20으로 딱 맞췄어요.즉 좌우로 늘어나는 구역이 0으로 설정된 것이다.
그래서 그림 그리는 데 오류가 생겨서 위아래 문장을 얻을 수 없는 문제가 생겼다. (왜 좌우가 0이 되어도 그림이 정상적으로 늘어날 수 있는지 모르겠다) 해결 방법은 당연히 UIEdge Insets Make(16, 6, 3, 13)이다.좌우로 늘어나는 구역에 픽셀 포인트를 남기면 됩니다. UIImage * rightBubble = [UIImage imageNamed:@"message_sender_background_normal"];
// UIEdgeInsets edgeInsets = UIEdgeInsetsMake(16 ,7, 3, 13);
UIEdgeInsets edgeInsets = UIEdgeInsetsMake(16 ,6, 3, 13);
UIImage *img = [rightBubble resizableImageWithCapInsets:edgeInsets resizingMode:UIImageResizingModeTile];
self.messageBackgroundImageView.image = img;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.