自定义 UITableViewCell 中的自定义 UIView

发布于 2024-12-09 05:43:11 字数 866 浏览 0 评论 0原文

我想要子类 UITableViewCell 中的两个自定义(即子类)UIView,如下图所示。这两个 UIView 是同一个子类。

在此处输入图像描述

自定义 UIView 和 TableViewCell 都有关联的 xib。

我希望得到一些有关解决此问题的最佳方法的建议。我以这种方式加载 TableViewCell。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath (NSIndexPath *)indexPath
{
   static NSString *CellIdentifier = @"CustomCell";
   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
   if (cell == nil) {
   [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:NULL];
   // CustomCell is an IBOutlet connected to the above nib
   cell = BLCustomCell;
   }
   // configure the cell
}

我想在自定义视图中设置插座以轻松显示数据模型中的数据。我需要一个用于自定义视图的视图控制器吗?我无法为自定义视图加载笔尖。 (是的,我意识到上面的代码没有解决这个问题。)如何加载它? TableView 的控制器是否需要自定义视图对象的出口?

谢谢!

I want two custom (i.e. subclassed) UIViews in a subclassed UITableViewCell as shown in the below picture. The two UIViews are the same subclass.

enter image description here

Both the custom UIViews and the TableViewCell have associated xib's.

I would appreciate some advice on the best way to go about this. I load the TableViewCell this way.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath (NSIndexPath *)indexPath
{
   static NSString *CellIdentifier = @"CustomCell";
   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
   if (cell == nil) {
   [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:NULL];
   // CustomCell is an IBOutlet connected to the above nib
   cell = BLCustomCell;
   }
   // configure the cell
}

I want to set outlets in the Custom Views to easily display data from my data model. Do I need a view controller for the Custom Views? I'm having trouble getting the nib to load for the Custom Views. (And yes, I realize my code above does not address this issue.) How do I get it to load? Does the TableView's controller need outlets to the Custom View objects?

Thanks!

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

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

发布评论

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

评论(1

挥剑断情 2024-12-16 05:43:11

处理复杂 UITableViewCell 的最简单方法是创建 UITableViewCell 的子类,并使用其自己的连接到子视图的 IBOutlet ,然后只需在 cellForRowAtIndexPath: 中设置自定义单元格的属性。还有各种其他方法,但这种方法似乎可以很好地分解问题,并扩展到处理更复杂的情况。

看看 Matt Drance 写的《iOS Recipes》一书,它很好地涵盖了这个领域。

The simplest way to handle complex UITableViewCells is to create a subclass of UITableViewCell, with its own IBOutlets that connect to the subviews, then just set properties of your custom cell in cellForRowAtIndexPath:. There are various other approaches, but this one seems to break down the problem reasonably well, and expands to handle more complex situations.

Take a look at the iOS Recipes book by Matt Drance, it cover this area well.

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