2009-08-24 3 views
2

나는 내용 (예 : 신용 뷰)를 많이 가지고있는 UITextView를 가지고 있고, 나는 그것이 자동으로애니메이션 크레딧 페이지는 어떻게 만듭니 까?

I 이름을 스크롤 곳 (파이어 폭스에 대한 크레딧 페이지 같은) 에 대한 자동 스크롤 뷰를 만들려면 다음을 시도했지만 원활하지 않아 사용자가 해당보기로 이동할 때 자동으로 실행되도록 요구합니다.

CGPoint scrollPoint = textView.contentOffset; 

scrollPoint.y= scrollPoint.y+10; 

[textView setContentOffset:scrollPoint animated:YES]; 

어떤 지침이 있습니까?

답변

1

UITextViewUIScrollView의 하위 클래스이므로 scrollRectToVisible:animated: 메서드를 사용하여 원하는 지점으로 애니메이션을 스크롤 할 수 있습니다.

PageControl 샘플 코드는 가로로 스크롤해도 사용 방법을 보여줍니다.

0

지금까지 내가 이런 짓을했는지,하지만 여전히 그것은 ...

어떤 제안 원활하지?

- (void)viewDidLoad { 

    [super viewDidLoad]; 

[self run]; 

} 

-(void)run{ 

    CGRect Frame1 = CGRectMake(5.0,5.0, 100.0,400.0); 
    CGPoint scrollPoint = textView.contentOffset; 

    scrollPoint.y= scrollPoint.y+100; 

    [textView setContentOffset:scrollPoint animated:YES]; 

    [textView scrollRectToVisible:Frame1 animated:YES]; 
    NSTimer *time; 
    time=[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(run) userInfo:nil repeats:YES]; 

} 
0

어느 scrollRectToVisible: animated:setContentOffset: animated: 애니메이션이 발생하는 속도 또는 기간을 제어하는 ​​속성을, 그래서 모두가 대상 지점으로 상당히 빨리 스크롤됩니다. 그들은 천천히 스크롤해야하는 크레딧과 같은 것을위한 좋은 해결책이 아닙니다.

UIView animateWithDuration:을 사용한 다음 애니메이션 블록에 contentOffset을 전달하는 것이 아마 가장 좋은 방법 일 것입니다. 그러나 텍스트의 길이가 너무 길면 (iOS 10.0 SDK에서도) 상단에 텍스트를 자르는 버그가 있습니다. 여기에 설명 된 버그에 대한 두 가지 가능한 해결 방법이 있습니다.

UIView.animateWithDuration on UITextfield's contentoffset: It clips the text (Swift)

관련 문제