2016-08-26 10 views
-1

私はチャットアプリケーションに取り組んでいます。特定のチャットリストを選択すると、ChatViewControllerが開きます。私が欲しいのは、画面は最後のメッセージを直接チャット画面(他のチャットアプリのように)に表示することです。私はそのために以下のコードを実装している:チャットでアニメーションを隠す方法チャットでUITableViewをエンドスクロールするには?

if(chatData.count>1) 
{ 
    NSIndexPath *indexPath =[NSIndexPath indexPathForRow:chatData.count-1 inSection:0]; 
    [chatTableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES]; 
} 

しかし、チャット画面が示されたときに、それは非常に少数のミリ秒のトップであり、それは突然の最後の行までスクロールします。

このアニメーションやプロセスを非表示にして最後のメッセージを直接開いてもらいたいですか?このスクロールアニメーションを非表示にしたい

私は試しましたthis

+0

@NDoc、なぜObjective-Cタグを削除しましたか?誰かがObjective-CタグだけでiOSの質問を検索したいと思うかもしれないからです。 –

+1

タグは@ Mr.UBによって削除されました[編集履歴](http://stackoverflow.com/posts/39163124/revisions)。 –

+0

指導をありがとう。私は間違ったボタンを押すことがあります。奇妙な私の編集が承認されました。 –

答えて

0

アニメーションでスクロールする必要はありません。

[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:NO]; 
0

コードの下viewWillAppear試して

[tableView reloadData]; 
int lastRowNumber = [tableView numberOfRowsInSection:0] - 1; 
NSIndexPath* ip = [NSIndexPath indexPathForRow:lastRowNumber inSection:0]; 
[tableView scrollToRowAtIndexPath:ip atScrollPosition:UITableViewScrollPositionTop animated:NO] 
0

は、この方法ではNO =アニメーションを作るために、このproblem.Forgotを解決するには.......そんなに皆ありがとう

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 

    CGFloat yOffset = 0; 
    if (chatTableView.contentSize.height > chatTableView.bounds.size.height) 
    { 
    yOffset = chatTableView.contentSize.height - (chatTableView.bounds.size.height-10); 
    } 

    [chatTableView setContentOffset:CGPointMake(0, yOffset) animated:NO]; 
} 
関連する問題