Ios 无法完全隐藏UIView

Ios 无法完全隐藏UIView,ios,objective-c,iphone,uitableview,uiview,Ios,Objective C,Iphone,Uitableview,Uiview,我试图隐藏UIView,但到目前为止没有任何效果。UIView位于UITableView的底部,而不是作为单元格在其内部。以下是我迄今为止所做的尝试: self.viContainerLocation.hidden = YES; self.viContainerLocation.alpha=0.0; CGRect Conframe = self.viContainerLocation.frame; Conframe.size.height = self.view.bounds.size.hei

我试图隐藏UIView,但到目前为止没有任何效果。UIView位于UITableView的底部,而不是作为单元格在其内部。以下是我迄今为止所做的尝试:

self.viContainerLocation.hidden = YES;
self.viContainerLocation.alpha=0.0;

CGRect Conframe = self.viContainerLocation.frame;
Conframe.size.height = self.view.bounds.size.height;
self.viContainerLocation.frame = Conframe;

self.tableView.translatesAutoresizingMaskIntoConstraints=NO;

__block CGRect frame=self.tableView.frame;
frame.size.height= self.view.frame.size.height-frame.origin.y;
frame.size.width=self.view.frame.size.width;
self.tableView.frame=frame;
viContainerLocation是我试图隐藏的UIView。上面的代码隐藏UIView中的所有元素,但在UIView的维度上留下空白。 出于我不理解的原因,当我使用此代码时,viContainerLocation是隐藏的:

 [UIView transitionWithView:self.viContainerLocation
 duration:0.0
 options:UIViewAnimationOptionTransitionCrossDissolve
 animations:^{ }
 completion:^(BOOL finish){ 
 __block CGRect frame=self.tableView.frame;
 frame.size.height= self.view.frame.size.height-frame.origin.y;
 frame.size.width=self.view.frame.size.width;
 self.tableView.frame=frame; 
 }];
但是使用这段代码,空白会在几分之一秒的时间内显示出来,看起来不太好


我怎样才能让它从一开始就消失

你误解了什么

隐藏UIView时,此视图占用的空间仍然可见。 如果希望tableview填充缺少的空间,最快的方法是将tableview和视图分为
UIStackView

UIStackView
中,当您将一个子视图设置为
ishiden=true
时,该视图将被删除,其他视图将填充左侧空间


更多信息请点击此处:

您误解了什么

隐藏UIView时,此视图占用的空间仍然可见。 如果希望tableview填充缺少的空间,最快的方法是将tableview和视图分为
UIStackView

UIStackView
中,当您将一个子视图设置为
ishiden=true
时,该视图将被删除,其他视图将填充左侧空间


此处的更多信息:

尝试删除代码“self.tableView.translatesAutoResizengMaskintoConstraints=NO”;尝试设置
self.viContainerLocation.hidden=YES结尾处,而不是乞求删除代码“self.tableView.translatesAutoResistingGMaskintoConstraints=NO”;尝试设置
self.viContainerLocation.hidden=YES在最后,而不是乞讨