模态对话框中的 UITableView 和索引路径行高度

发布于 2025-01-08 09:30:52 字数 399 浏览 1 评论 0原文

这几乎是我第一次在代码中实现表视图。我创建了一个简单的表视图类,并且这部分没有使用 InterfaceBuilder。我尝试使用该方法: 索引路径行高度 我是我的班级,将第一行高度大小(第 0 节中)更改为 100,其余行则返回 self.rowHeight; 我还创建了 tableviewcontroller(tableViewController 的子类)来在模式对话框中显示我的表视图。我尝试在模态对话框中呈现它,当它出现在模态对话框中时,第一部分的行高大小(假设为 100 时)不是 100 。实际上它与其他行的大小相同。 如果我使用将相同的表视图添加到我的应用程序中的另一个视图(不使用模式对话框),它会将第一行高度显示为 100。您知道什么会强制模式对话框中的行高度不符合其中设置吗方法 heightForRowAtIndexPath?

谢谢, 卡姆兰

It's almost the first time I'm implementing a table view in my code. I created a simple table view class and I did not use InterfaceBuilder for this part. I tried to use the method:
heightForRowAtIndexPath
I'm my class to changed the first row height size(in section 0) to 100 and for the rests it returns self.rowHeight;
I also created my tableviewcontroller(a subclass of tableViewController) to show my table view in a modal dialog. I tried to present it in a modal dialog, when it appears in modal dialog, the row height size of first section(when it's suppose be 100) is NOT 100 .actually it is as the same size of other rows.
If I use to add the same tableview to another view in my app(not using modal dialog), it shows the first row height as 100. do you know what could be force the row height in modal dialog not to be as it set in the method heightForRowAtIndexPath?

Thanks,
Kamran

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

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

发布评论

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

评论(1

孤独岁月 2025-01-15 09:30:53

听起来您创建了 UITableView 的子类。这是我很久以前学到的一条规则。如果您要子类化 UITableView 或 NSTableView,那么您可能做错了什么。这里没有魔法。 UITableViewController 自动设置为其表视图的委托和数据源。 heightForRowAtIndexPath 是一个委托方法。所以它属于委托类。阅读有关委托方法的 UITableView 和 Objective-C 编程文档。另外,http://dbrajkovic.wordpress.com/2011/03/10/delegate-methods-there-is-no-magic-cappuccino-cocoa/

委托和数据源方法的要点是无需子类化即可完成表格视图的大部分自定义。如果您设置 delegate = self 和 datasource = self,那么您肯定做错了什么。即使您确实必须子类化 UITableView,tableview 的委托和数据源也不应该是 self。

It sounds like you created a subclass of UITableView. So here's a rule I learned a long time ago. If you're subclassing UITableView or NSTableView, you're probably doing something wrong. There is no magic here. UITableViewController is automatically setup to be the delegate and datasource for it's tableview. And heightForRowAtIndexPath is a delegate method. So it belongs in the delegate class. Read over the docs for UITableView and Objective-C programming regarding delegate methods. Also, http://dbrajkovic.wordpress.com/2011/03/10/delegate-methods-there-is-no-magic-cappuccino-cocoa/

The point of delegate and datasource methods is to accomplish most customization of the tableview without having to subclass. If you're setting delegate = self and datasource = self, you're definitely doing something wrong. Even if you did HAVE to subclass UITableView, the delegate and datasource of the tableview should not be self.

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