3

我有以下结构:

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);
4

1 回答 1

3

尝试将其粘贴在 viewDidAppear 而不是 viewWillAppear 中。

于 2012-11-05T15:19:44.730 回答