我有以下结构:
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);