Я предполагаю, что вы говорите "myView движется, но Tableview не движется" , потому что вы не видите Tableview на экране?Если это так, то похоже, что это связано с тем, как вы устанавливаете фреймы.
//Create view and subview (tableView):
myView= [UIView new];
CGFloat width = self.view.frame.size.width;
CGFloat height=self.tableView.frame.size.height;
//Place offscreen
[myView setFrame:CGRectMake(-width, 0, width, height)];
[self.view addSubview:myView];
ОК - myView теперь находится вне экрана слева.Давайте предположим, что ширина 320, а высота 480, поэтому кадр вашего myView (например):
`-320, 0, 320, 480`
затем
aTableView = [UITableView new];
//Initially set frame to superview
aTableView.frame = myView.frame;
[myView addSubview:aTableView];
Ой, вы установили aTableView.frame = myView.frame;
Это означаетКадр вашей таблицы:
`-320, 0, 320, 480`
, но относительно кадра myView.Итак, ваш табличный вид расположен 320-ptd
слева от myView, который выходит на 640-pts
слева от левого края экрана.
//Move superview on screen
myRect = CGRectMake(0,0,width,height)];
myView.frame = myRect;
Теперь вы переместили myView влево на0
, поэтому он виден, но aTableView
по-прежнему 320-pts
слева от myView
, поэтому он по-прежнему за кадром.
Изменение этой строки на:
aTableView.frame = myView.bounds
должен позаботиться об этом.