3

私は iPhone アプリケーションで作業しており、UITextView を使用してその中に複数のテキストを表示します。ユーザーが画面にタブを付けると、UITextView のコンテンツを下から上に自動的にスクロールし (スクロール レベルが遅くなります)、正常に動作します。スクロール速度を 1 のように上げたいです。 2,3,4,5,6...10、これを行う方法は? 私を助けてください。

前もって感謝します

私はこれを試しました:

     - (void)viewDidLoad
    {
        [super viewDidLoad];

        ScriptDetails = [[UITextView alloc]initWithFrame:CGRectMake(0,9,480,285)];
        ScriptDetails.text=Script;
        ScriptDetails.textAlignment=UITextAlignmentLeft;
        ScriptDetails.editable=NO;
        ScriptDetails.delegate=self;
        ScriptDetails.font=[UIFont fontWithName:str1 size:f];
        ScriptDetails.backgroundColor=tColor1;
        ScriptDetails.textColor=tColor;
        [self.view addSubview:ScriptDetails];

     UITapGestureRecognizer *singleTap = [[[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(TouchToPlay)] autorelease];
    singleTap.delegate=self;
    singleTap.numberOfTapsRequired = 1; 
    [ScriptDetails addGestureRecognizer:singleTap];
    }

-(void)TouchToPlay
{
    NSLog(@"single");  

  timer = [NSTimer scheduledTimerWithTimeInterval:(35.0/1000.0)
                                                   target:self
                                                 selector:@selector(autoscrollTimerFired:) 
                                                 userInfo:nil 
                                                  repeats:YES];

}



- (void)autoscrollTimerFired:(NSTimer*)timer 
{
    CGPoint scrollPoint = ScriptDetails.contentOffset;
    scrollPoint = CGPointMake(scrollPoint.x, scrollPoint.y + 1);
    [ScriptDetails setContentOffset:scrollPoint animated:NO];
}
4

2 に答える 2

0

スクロールが速いだけの場合は、タイマー関数が呼び出される時間を最小限に抑えることができます。また、スクロールが遅い場合は、時間を増やすことができます。

他に何かお探しの場合はお知らせください。

于 2012-12-20T11:09:27.343 に答える
0

もう 1 つの方法は、代わりにいくつかの iVar を配置する代わりに- (void)autoscrollTimerFired:(NSTimer*)timerメソッド内の変数を配置し、速度を増減するボタンなどのメカニズムを提供することです。scrollPoint = CGPointMake(scrollPoint.x, scrollPoint.y + 1);1+-

于 2012-12-20T11:21:41.427 に答える