크기를 조정할 UIScrollView 안에 UIView가 있습니다.UIView 크기 조정 - 위쪽 확장
나는 쉽게 높이를 증가시킬 수있다 :
CGRect frame = self.drawinView.frame;
frame.size.height += 100;
self.drawinView.frame = frame;
self.drawinScrollView.contentSize = CGSizeMake(frame.size.width, frame.size.height);
그리고 모두가 좋다.
위 코드는 필자가 작성할 수있는 뷰의 하단에 뷰의 새로운 영역을 생성합니다.
이제보기의 크기를 조정하면 방금 만든보기의 새 부분을 다시 칠하기를 원합니다. 나는 전체보기를 다시 칠할 필요가 없다.
그러나! 내가보기의 상단을 확장해야 할 때 나는 어려움에 처해있다.
수행 :
CGRect frame = self.drawinView.frame;
frame.origin.y -= 100;
self.drawinView.frame = frame;
self.drawinScrollView.contentSize = CGSizeMake(500, 600);
이 작동하지 않습니다.
전체보기를 다시 그릴 필요없이 어떻게 할 수 있습니까?
좋아, 그건 이해가된다. 나는 내용물을 아래쪽으로 잠그기 위해 말하는이 drawinView가 전체 캔버스를 다시 채우는 것을 포함 할까? 나는 이것을 피하기를 희망했다. 당신은 다른 방법을 생각할 수 있는가? –
다음 중 어떤 것이 있는지 잘 모르겠습니다. UIView 클래스의 contentMode 속성이 있습니다. UIViewContentModeBottom으로 설정하면보기의 크기를 조정할 때 자동으로 다시 칠해 야하며 어쩌면 맨 위에 표시된 영역에 대해 더러운 사각형으로 만 전달됩니다. 그렇지 않다면, 그 영역을 그리기 만하고 그리기 전에 컨텍스트를 지우지 않을 수 있습니다. (view.clearsContextBeforeDrawing = false) –
좋아, 나는 그것을 시도하지 않았다. 나는 당신이 대답 할 수있는 비트를 받아들이고있다. 내가 대신 한 것은 캔버스 크기를 최대한 늘린 다음 전체 시나리오에서 필요한 스크롤을 수동으로 제한하는 것입니다. 이는 동일한 효과를 주며 조금 더 부드럽게 만듭니다! 이 contentMode로 시간을 얻을 때 볼 것입니다. 도와 주셔서 감사합니다! 8 ^) –