iphone - 将 UITableViewController 与小型表格一起使用?

标签 iphone objective-c cocoa-touch uitableview

当使用 UITableViewController 时,initWithStyle: 方法会根据文档自动创建具有“正确尺寸”的底层 UITableView。

我的问题是这些“正确尺寸”看起来是 320x460(iPhone 的屏幕尺寸),但我将这个 TableView/Controller 对插入一个 UINavigationController,它本身包含在一个 UIView 中,它本身大约是 UIView 高度的一半屏幕。

我能想出的框架或边界争论似乎无法正确重置表格的大小,因此它“太长”,这意味着有一组行被推出屏幕底部并且不可见也无法通过滚动到达。

所以我的问题归结为:告诉 UITableViewController 将其组件 UITableView 的大小调整为指定矩形的正确方法是什么?

谢谢!

更新 我已经尝试了这里建议的所有技术都无济于事,但我确实发现了一件有趣的事情:如果我完全避开 UINavigationController(我还不愿意为生产做这件事) ,但作为实验),并将 TableView 添加为我提到的封闭 View 的直接 subview ,尊重给定的框架大小。 非常时刻我将 UINavigationController 重新引入组合中,无论它是作为 subview 添加到 TableView 之前还是之后,也无论是在 TableView 之前还是之后分配/初始化它添加为 subview ,结果与之前相同。

我开始怀疑 UINavigationController 不是一个团队合作者......

更新 2 在屏幕上的表格 View 之后检查框架大小的建议是一个很好的建议:事实证明,导航 Controller 实际上在加载和显示之间的某个时间调整了它的大小。我的解决方案,充其量是 hacky,一直缓存加载时给定的框架,如果在 tableView:cellForRowAtIndexPath: 的开头发生更改,则重置它。为什么你问?因为这是我发现行之有效的地方,这就是原因!

我不认为这是一个解决方案,因为它显然不合适,但为了其他阅读者的利益,它似乎确实有效。

最佳答案

为什么不使用常规的 UIViewController 并手动创建表呢?

关于iphone - 将 UITableViewController 与小型表格一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/222956/

相关文章:

ios - 应用程序在 Xcode 9 的 iphone X 模拟器中不占据整个屏幕

iphone - 如何使用格式化占位符本地化字符串?

objective-c - 委托(delegate)单例对象

objective-c - Kiwi 规范单元测试 : Instance method '-attachToVerifier:verifier:' not found

ios - MFMessageComposeViewController 显示空白/白色屏幕

iphone - UIImagePickerController 并从现有照片中提取 EXIF 数据

iphone - MPMoviePlayerController 进入 View

ios - 从 iOS 应用程序在 Facebook 墙上发布纯文本

ios - 检测页面何时按下 tabBar 项

ios - 通过 UIMenuController 的 UIMenuItem 传值