ios - 点击时更改 TableView 高度(在 xib 中使用自动布局)

标签 ios objective-c xcode uitableview xib

我的 ViewController 在初始加载时看起来像这样:

initially

当点击显示按钮时,它必须像这样改变: When ShowButton tapped

我的代码是:

- (IBAction)show:(id)sender {
 [self change];
 [tableView reloadData];
}
- (IBAction)close:(id)sender { 
 [self change];
 [tableView reloadData];
}

-(void)change{
  //assigning initial bounds to frame-1
  CGRect frame1=CGRectMake(0, _pastProcessTV.frame.origin.y, self.view.bounds.size.width, self.pastProcessTV.bounds.size.height); 
  //assigning new bounds to frame-2
  CGRect frame2=CGRectMake(0, **CGFloat y**,self.view.bounds.size.width,***CGFloat height***);

   if (_showFullButton.isTouchInside) {
          tableView.frame = frame2;
    }
   else{
          tableview.frame = frame1;
   }
}

我尝试了不同的方法。它不起作用。谁能帮我提供 Y 坐标和宽度

最佳答案

当你使用自动布局时,你必须使用 tableview 的 topconstraint 导出,当你想扩展它时,将其值设置为 0

所以它会按预期工作

如果您使用的是 iOS 7

[self.view layoutIfNeeded] 是必须的

关于ios - 点击时更改 TableView 高度(在 xib 中使用自动布局),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35746142/

相关文章:

ios - UIButton 背景图像的大小与自动布局不正确?

ios - 未声明的标识符 -NSBackgroundActivityScheduler

ios - 在某个 url 上关闭 SFSafariViewController

ios - .unredacted() SwiftUI - 占位符

javascript - React Native <ActivityIndi​​cator/> 不可见

objective-c - 您在哪里调用 Reachability?

ios - Storyboard和 UITabBarController

objective-c - 获取一个月的最后一天

objective-c - 如何在我的 OSX 应用程序中运行嵌入式二进制文件?

ios - `pod install` 之后的空 Pod header 文件夹