UITableView,仅显示带有数据的 UITableViewCells

发布于 2024-11-09 04:00:50 字数 114 浏览 0 评论 0原文

我有一个自定义的 UITableViewCell 占据了屏幕的一部分。但是,当只有一行数据时,我希望 UITableView(我用 IB 放入)缩小并仅显示一行。 UITableView 有没有办法重绘自己?谢谢。

I have a custom UITableViewCell that takes up a portion of the screen. However, when there is only one row of data, I'd like the UITableView (that I dropped in with IB), to shrink and only show the one row. Is there a way for the UITableView to redraw itself? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情栀口红 2024-11-16 04:00:50

您可以使用以下代码设置 tableView 高度:

CGRect newFrame = tableView.frame;

frame.size.height = newHeight;

tableView.frame = newFrame;

如果您想对高度变化进行动画处理,您需要执行以下操作:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:0.5];

CGRect newFrame = tableView.frame;

frame.size.height = newHeight;

tableView.frame = newFrame;

[UIView commitAnimations];

您可以将上述所有代码放入一个方法中,当您的 numberOfRowsInSection 数据时可以调用该方法source 方法返回值 1。

You can set the tableView height using the following code:

CGRect newFrame = tableView.frame;

frame.size.height = newHeight;

tableView.frame = newFrame;

If you want to animate the height change you need to do:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:0.5];

CGRect newFrame = tableView.frame;

frame.size.height = newHeight;

tableView.frame = newFrame;

[UIView commitAnimations];

You can put all of the above code in a method which you can call when your numberOfRowsInSection data source method returns a value of 1.

太阳公公是暖光 2024-11-16 04:00:50

只需修改tableView框架属性以匹配所需的高度

Just modify the tableView frame property to match the required height

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文