1

UIScrollView に UITableView があります。表のセルは垂直、つまり上下に並んでいます。一番下のセルを縦向きで選択すると、強調表示されてポップオーバーが表示されます。ただし、横向きに回転すると、選択したセルは表示されなくなりますが、ポップオーバーは残ります。回転時の UIScrollView は、UITableView の一番上のセルを新しい (ランドスケープ) 方向の一番上のセルとして使用することを理解しています。選択したセルを回転時にビュー内に保持するにはどうすればよいですか。つまり、回転時に、選択したセルを参照点として回転させることができます。

4

1 に答える 1

1

ビューコントローラーのインターフェース回転イベントでこのメソッドを呼び出す必要があると思います。

-(void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath
             atScrollPosition:(UITableViewScrollPosition)scrollPosition
                     animated:(BOOL)animated;

ビューコントローラーでできることは次のとおりです。

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromOrientation
{
    [tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}

次のイベントから、選択した行の indexPath を取得できます。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
于 2013-08-22T20:42:31.447 に答える