最近在使用UITableViewController,想在上面添加一个固定的视图,不随ScrollView滑动而移动.最后找到2种解决办法,一种是计算TableView的偏移,调整视图的位置,不断更新视图,从而达到相对静止.使用UIScrollViewDelegate里的方法-(void) scrollViewDidScroll;

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
self.hud.frame = CGRectMake(self.hud.frame.origin.x,self.tableView.contentOffset.y, self.hud.frame.size.width, self.hud.frame.size.height);
}

还有一种办法是将视图添加到window上,不过使用这种方法,TableView是不能滑动的.

- (void)setMBProgressHD{
self.hud = [[MBProgressHUD alloc]initWithView:self.view];
AppDelegate *delegata = [[UIApplication sharedApplication] delegate];
[delegata.window addSubview:self.hud];
self.hud.labelText = @"Loading...";
[self.hud show:YES];
}

stackOver:http://stackoverflow.com/questions/7537858/iphone-need-to-put-uiview-on-top-of-uitableview-in-fixed-position

05-11 18:34