2012-09-22 5 views
3

iPhone에서 세로 스크롤 만 보여주는 예제를 찾고 있습니다.UIScrollView를 사용하여 위에서 아래로 스크롤

  • 애플은 스크롤 공급 된 예는 이미지의 스 와이프를 잘 왼쪽 있습니다. 나는 내 이미지를 갖고 싶어 Example Link

  • Example Link

    1. Instagram App 같은 top to bottom을 스크롤합니다.

    2. 나는 그것에 대해 연구하고 많은 예제를 발견했지만, 그들은 모두 가로 스크롤을 보여줍니다.

      1. Example
      2. Example
      3. Example

사람이 작업을 수행하는 방법을 알고 있나요?

나에게 튜토리얼 링크를 보내 주시면 감사하겠습니다.

답변

3

안녕 내가 사과 코드를 사용하여 문제를 해결이

그냥

- (void)layoutScrollImages 
{ 
    UIImageView *view = nil; 
    NSArray *subviews = [scrollView1 subviews]; 

    // reposition all image subviews in a horizontal serial fashion 
    CGFloat curXLoc = 0; 
    for (view in subviews) 
    { 
     if ([view isKindOfClass:[UIImageView class]] && view.tag > 0) 
     { 
      CGRect frame = view.frame; 
      frame.origin = CGPointMake(0,curXLoc); 
      view.frame = frame; 

      curXLoc += (kScrollObjHeight); 
     } 
    } 

    // set the content size so it can be scrollable 
    [scrollView1 setContentSize:CGSizeMake(([scrollView1 bounds].size.width),kNumImages * kScrollObjHeight)]; 
} 

과 기능을 변경하거나 합성하는 당신은 샘플을 원하는 경우 그럼 내가 줄거야

+0

네, 잘 작동하지만, 내 자신의 애플 리케이션을 위해 그것을 시도했다. 문제가 생겼어. 확인해 볼 수 있니? http://stackoverflow.com/questions/12538776/vertical-images-in-uiscrollview – Ali

+0

새로운 질문입니다.이 질문은 수직 스크롤에 관한 것입니다. 문제는 아니지만이 섹션에서 대답을 받아 들여야합니다 ... – Rajneesh071

+0

물론, 모든 대답을 ckeck하고 가장 유용한 것을 선택해야합니다. 나는 그렇게 할 것이다. +1 지금 당신의 도움을 위해 +1) – Ali

0

내가 원하는 것을 정확히 이해했는지는 알 수 없지만 기본적으로 setContentOffset을 사용하여 scrollView의 위치를 ​​설정할 수 있습니다. 당신의 목적을 위해

CGPoint bottomOffset = CGPointMake(0, scrollView.contentSize.height - self.scrollView.bounds.size.height); 
[scrollView setContentOffset:bottomOffset animated:YES]; 
+0

Instagram App을 살펴보십시오. 이미지를 세로로 이동할 수 있습니다. 내 링크를보고 이해하지 못하면 알려주세요. – Ali

1

귀하의 링크를 참조하십시오 당신이에 contentSize 속성의 width을 설정해야 수평 스크롤

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

:

http://idevzilla.com/2010/09/16/uiscrollview-a-really-simple-tutorial/

이 있습니다를 코드처럼 스크롤 뷰의 f보다 높은 값 rame width. 마찬가지로 세로 스크롤의 경우 heightcontentSize으로 스크롤 뷰의 frame height보다 높은 값으로 설정해야합니다. 위의 코드에서 Reference

는이 같은 수행 할 수 있습니다.

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

그래, 그걸 시도했지만, 내가 해결할 수없는 문제에 직면, 이것 좀 봐 : http://stackoverflow.com/questions/12538776/vertical-images-in-uiscrollview – Ali

+0

나는 여전히 찾을 수 없습니다 Instagram App과 같은 수직 스크롤링을 보여주는 튜토리얼 (링크에서 확인할 수 있음). – Ali

+0

@Ali : 나는 그 질문에 대답했다. TI가 도움을 청하는 것을 –

1

당신은 바닥에 그 반대의 상단에서 이미지를 스크롤하려면 다음 코드를 사용할 수 있습니다!

- (void)viewDidLoad 
{ 
//.... 
UISwipeGestureRecognizer *recognizer; 
//for scrolling up 
    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeUp)]; // calling method SwipeUp 
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionUp)]; 
    [[self view] addGestureRecognizer:recognizer]; 


    //for scrolling down 
    UISwipeGestureRecognizer *recognizer1; 
    recognizer1 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeDown)]; //calling method SwipeDown 
    [recognizer1 setDirection:(UISwipeGestureRecognizerDirectionDown)]; 
    [[self view] addGestureRecognizer:recognizer1]; 

} 

// 초기화 및 IBOutlet UIImageView *bgImage;

-(IBAction)SwipeUp 
{ 


     [bgImage setImage:[UIImage imageNamed:@"yourImage1"] ]; 

      bgImage.opaque=YES; 
    [self.view addSubview:bgImage]; 
} 


-(IBAction)SwipeDown 
{ 


     [bgImage setImage:[UIImage imageNamed:@"yourImage2"] ]; 

     bgImage.opaque=YES; 
    [self.view addSubview:bgImage]; 
} 
+0

scrollView를 사용 했습니까? – Ali

+0

제스처를 사용하여 스크롤했습니다. !! –

+0

또한 스크롤보기를 사용할 수 있습니다. 보기를 하위보기로 추가하기 만하면됩니다. !! !! –

0

예를 들어이 일을 여러 가지 방법이 있습니다 : 사용자 정의 셀과 jQuery과 사용

  1. 콘텐츠/이미지 & 개체의 수에 따라있는 ScrollView의 높이를 증가를 추가 UIScrollingView & 추가
  2. 정렬. 여기

이미지에 대한 2 × 2 그리드를 생성하는 코드이다

//Over here adding the image names into the Array 
NSMutableArray *imageArray=[[NSMutableArray alloc]init]; 
    [Arr addObject:[UIImage imageNamed:@"image_1.png"]]; 
    [Arr addObject:[UIImage imageNamed:@"image_2.png"]]; 
    [Arr addObject:[UIImage imageNamed:@"image_3.png"]]; 
    [Arr addObject:[UIImage imageNamed:@"image_4.png"]]; 
    [Arr addObject:[UIImage imageNamed:@"image_5.png"]]; 

// 프레임 설정있는 ScrollView &을 Initlaizing :

scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0,320, 460)]; 
[scrollView setBackgroundColor:[UIColor clearColor]]; 
scrollView.showsHorizontalScrollIndicator = NO; 
scrollView.showsVerticalScrollIndicator = NO; 
int row = 0; 
int column = 0; 
for(int i = 0; i < imageArray.count; i++) { 

    UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    button.backgroundColor=[UIColor clearColor]; 
    button.frame = CGRectMake(column*160+0,row*210+10, 160, 190); 
    [button setImage:[imageArray objectAtIndex:i] forState:UIControlStateNormal]; 
    [button setBackgroundColor:[UIColor clearColor]]; 
    [button addTarget:self action:@selector(chooseCustomImageTapped:) forControlEvents:UIControlEventTouchUpInside]; 
    button.tag = i; 
    [view1 addSubview:button]; 

    if (column == 1) { 
     column = 0; 
     row++; 
    } else { 
     column++; 
    } 

} 

[scrollView setContentSize:CGSizeMake(320, (row+1) * 210)]; 

[self.view addSubview:view1]; 

을 // Tapping에 사용 된 메소드는 다음과 같습니다.

- (IBAction)chooseCustomImageTapped:(id)sender 
{ 

} 

이제 scrollView가 수직 스크롤링을 위해 준비되면 이에 따라 사용자 정의를 할 수 있습니다. 이게 너에게 도움이되기를 바란다.

관련 문제