2012-10-19 3 views
0

사용자가 이미지 앨범에 저장하도록 선택하고 이미지를 추적하도록 이미지의 contentoffset을 설정하려면 어떻게해야합니까?스크롤바의 내용 오프셋

UIScrollView *imageScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 

imageScrollView.pagingEnabled = YES; 

NSInteger numberOfViews = 61; 

for (int i = 0; i < numberOfViews; i++) { 

CGFloat xOrigin = i * self.view.frame.size.width; 

NSString *imageName = [NSString stringWithFormat:@"image%d.png", i]; 

_image = [UIImage imageNamed:imageName]; 

_imageView = [[UIImageView alloc] initWithImage:_image]; 

_imageView.frame = CGRectMake(xOrigin, 0, self.view.frame.size.width, self.view.frame.size.height); 

UILongPressGestureRecognizer *gestureRecognizer = [[UILongPressGestureRecognizer alloc] 
                initWithTarget:self 
                action:@selector(handleLongPress:)]; 

imageScrollView.userInteractionEnabled = YES; 
[imageScrollView addGestureRecognizer:gestureRecognizer]; 
gestureRecognizer.delegate = self; 
[gestureRecognizer release]; 

[imageScrollView addSubview:_imageView]; 

imageScrollView.contentSize = CGSizeMake(self.view.frame.size.width * numberOfViews, self.view.frame.size.height); 

편집 : 넣어 무엇인지 확실하지 contentoffset에서

imageScrollView.contentOffset = CGPointMake(CGFloat x, CGFloat y); 

그래서 그 이미지가 사진 앨범에

- (void)handleLongPress:(UILongPressGestureRecognizer*)gestureRecognizer{ 
if (gestureRecognizer.state == UIGestureRecognizerStateBegan){ 
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Save Photo", nil]; 
actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent; 
[actionSheet showInView:self.view]; 
[actionSheet release]; 

}} 

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 

switch (buttonIndex) { 
case 0: 
    [self savePhoto]; 

    break; 

default: 
    break; 

} 

-(void)savePhoto{ 

CGPoint location = [gesture locationInView:_imageView]; 

if (CGRectContainsPoint(_imageView.bounds, location)){ 

UIImageWriteToSavedPhotosAlbum(_image, self, @selector(image: didFinishSavingWithError:contextInfo:), nil); 
    }}} 

어떤 아이디어를 저장하는 사용자에 추적을 선택할 수 있습니다 감사하겠습니다.

답변

0

스크롤 막대의 사과 샘플 프로젝트 중 하나에서 오는이 코드를 사용하여 현재 보이는 '페이지'가 스크롤보기에 있는지 확인할 수 있습니다.

// Calculate which page is visible 
CGFloat pageWidth = self.scrollView.frame.size.width; 
int page = floor((self.scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1; 

이 인덱스 번호를 알고 있으면 당신은 저장 어떤 이미지를 결정하는 데 사용할 수 있습니다