이미지를 상하 좌우로 확대하려고합니다. C4에서 팬 제스처를 사용할 수 없기 때문에 처음에는 슬라이더를 사용할 수 있다고 생각했습니다. 그래서 나는이 같은 사진에 팬 제스처를 추가 해요 :[C4] 팬 인식기와 슬라이더가 충돌합니다.
-(void)photoToCrop{
photoTaken=[C4Image imageNamed:@"image.jpg"];
photoTaken.height=self.canvas.height;
photoTaken.origin=CGPointMake(0, 0);
[self.canvas addImage:photoTaken];
[self addGesture:PAN name:@"pan" action:@"movePhoto:"];
}
-(void)movePhoto:(UIPanGestureRecognizer *)recognizer {
CGPoint thePoint=[recognizer locationInView:self.view];
//C4Log(@"current position:%f,%f",thePoint.x, thePoint.y);
if (thePoint.x>photoTaken.origin.x &&thePoint.x<photoTaken.origin.x+photoTaken.width && thePoint.y>photoTaken.origin.y &&thePoint.y<photoTaken.origin.y+photoTaken.height) {
C4Log(@"touched inside+moved");
[photoTaken move:recognizer];
}
}
난 단지 팬 제스처를 사용하고 사용자가 실제로 이미지를 탭이 아니라 어디서든 외부 (즉,이 경우 문가있을 때) 그것은 자체적으로 완벽하게 작동합니다. 또한 자체가 잘 작동
-(void)sliderSetup{
[self createAddSliderObjects];
zoomSlider.minimumValue=0.52f;
zoomSlider.maximumValue=10.0f;
//scalefactor=1;
zoomSlider.value=1.0f;
}
-(void)createAddSliderObjects{
sliderLabel=[C4Label labelWithText:@"1.0"];
sliderLabel.textColor=navBarColor;
zoomSlider=[C4Slider slider:CGRectMake(0, 0, self.canvas.width-20, 20)];
//positioning
sliderLabel.center=CGPointMake(self.canvas.width/2,self.canvas.height-NavBarHeight-50);
zoomSlider.center=CGPointMake(sliderLabel.center.x,sliderLabel.center.y+10);
//set up action
[zoomSlider runMethod:@"sliderWasUpdated:"
target:self
forEvent:VALUECHANGED];
[self.canvas addObjects:@[sliderLabel, zoomSlider]];
}
-(void)sliderWasUpdated:(C4Slider*)theSlider{
//update the label to reflect current scale factor
sliderLabel.text=[NSString stringWithFormat:@"%4.2f", theSlider.value];
[sliderLabel sizeToFit];
//scale the image
C4Log(@"slider:%f",theSlider.value);
photoTaken.height=self.canvas.height*theSlider.value;
photoTaken.center=self.canvas.center;
}
: 그런 다음 나는 또한 같은 이미지 스케일링에 부착 된 슬라이더가 있습니다. 하지만 동시에 두 가지를 사용하려고하면 작동하지 않습니다. 이 경우 이미지를 패닝하는 것만 작동하지만 슬라이더에는 아무런 변화가 없습니다. 그것은 결코 어떤 트리거도 얻지 못하는 것 같습니다 ... 다른 사람이 내가 시도 할 수있는 제안이 있습니까?
내가 잘못하고 있는지는 잘 모르겠지만 예제를 실행하면 팬이 작동하지만 슬라이더 값을 변경할 수는 없습니다. – suMi
이상합니다. 이 코드를 새 프로젝트에 붙여 넣으면 잘 작동합니다. 새 프로젝트 또는 큰 프로젝트 내부에서 사용하고 있습니까? –
나는 둘 다 시도하고 그것은 작동하지 않았다 ... iOS/XCode/어떤 차이가 있는지 .../나? – suMi