私は次の構造を持っています:
UIViewController > UIView (self.view) > UITableView (self.tableView - IBOutlet)
全体を 59 ピクセル上に移動しようとしています。
- (void)viewWillAppear:(BOOL)animated {
self.view.frame = CGRectMake(0, -59, 320, 367 + 59);
// or
self.tableViewMe.frame = CGRectMake(0, -59, 320, 367 + 59);;
NSLog(@"%f", self.view.frame.origin.x);
NSLog(@"%f", self.view.frame.origin.y);
NSLog(@"%f", self.view.frame.size.width);
NSLog(@"%f", self.view.frame.size.height);
NSLog(@"%f", self.tableView.frame.origin.x);
NSLog(@"%f", self.tableView.frame.origin.y);
NSLog(@"%f", self.tableView.frame.size.width);
NSLog(@"%f", self.tableView.frame.size.height);
[super viewWillAppear:animated];
}
座標は正しいが、ビューとテーブルは同じで、まったく動かない。さらに、ボタンタップのように、次のコードを IBAction に追加すると、機能します。
self.view.frame = CGRectMake(0, -59, 320, 367 + 59);