ios - 如何在 iOS 中让 UITableView 变大

标签 ios objective-c uitableview

目前我正在继承UITableViewController。我通过实现两种方法使 UITableviewController 中的每个单元格都变大了。

代码:

(CGFloat) tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath { 

   CGFloat screenHeight = [[UIScreen mainScreen] bounds].size.height;
   return screenHeight * 1/2;
}

(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

   CGFloat screenHeight = [[UIScreen mainScreen] bounds].size.height;
   return screenHeight * 1/2;
}

我有两个问题/问题

  1. 我的 table 似乎被轻微地推到了右边,我该如何解决这个问题?

  2. 这是使 UITableViewControllers Cell 变大的正确方法吗? 另外:如果我制作一个自定义单元格,我不能只是将自定义单元格放在一个完整的单元格的位置,那么单元格的高度是多少并不重要?因为,它被自定义单元格取代了吗?

任何建议都会有所帮助。谢谢。

最佳答案

如果您希望每一行的高度都相同,则不要实现您拥有的两种方法。相反,只需在 viewWillAppear: 中添加以下行:

self.tableView.rowHeight = self.tableView.bounds.size.height / 2.0;

另请注意,高度基于表格 View 的高度,而不是屏幕高度。这可确保两个单元格适合表格 View 的可见部分。

仅在存在具有不同高度的行时才实现 heightForRowAtIndexPath:

仅供引用 - 您发布的代码都不会对似乎被推到右边的表格产生任何影响。那一定是其他原因造成的。

另一个注意事项 - 请记住,如果设备处于横向方向,[UIScreen mainScreen].bounds 将在 iOS 7 或更早版本下给您错误的结果。

关于ios - 如何在 iOS 中让 UITableView 变大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26744427/

相关文章:

iPhone iOS 如何就地翻转/反射(reflect)任何 UIView?

iphone - 如何将代码从旧版本的 xcode 转移到最新版本?

ios - 导入 Foundation.h,但使用 :NSObject

ios - 调整 viewDidLoad 中 UITableViewCell 的高度到内容

ios - 如何删除 XCode Storyboard 中的 segue?

ios - 此类对于使用 RestKit v0.20.0 的键文本不符合键值编码

ios - iOS 6中文 map 不一致如何处理?

ios - 每个 iCloud 用户如何在 CloudKit 中保存用户特定的订阅?

ios - 对于非英语歌曲,如何使用 # 显示看起来像 iPod 音乐的索引

ios - UITableView 滚动在顶部问题 iOS