gpt4 book ai didi

iphone - UITableView设计

转载 作者:行者123 更新时间:2023-11-29 10:55:21 25 4
gpt4 key购买 nike

我有 UITableView,我想要设计如下。

enter image description here

为此,我有如下图片。

底行.png

enter image description here

中间行.png

enter image description here

顶部和底部行.png

enter image description here

topRow.png

enter image description here

为此,我在 -(UITableViewCell *) tableView:(UITableView *) tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

中使用了以下代码
UIImage *selectedImage;
if (indexPath.row==0) {
selectedImage = [UIImage imageNamed:@"topRow.png"];
} else if (indexPath.row == ([products count]-1)) {
selectedImage = [UIImage imageNamed:@"bottomRow.png"];
} else {
selectedImage = [UIImage imageNamed:@"middleRow.png"];
}

if ([products count]==1) {
selectedImage = [UIImage imageNamed:@"topAndBottomRow.png"];
}

UIImageView *selectedBackgroundImageView = [[UIImageView alloc] initWithImage:selectedImage];
cell.selectedBackgroundView = selectedBackgroundImageView;

selectedBackgroundImageView = [[UIImageView alloc] initWithImage:selectedImage];
cell.backgroundView = selectedBackgroundImageView;

现在,一切正常。

但是 我的设计师坚持以下几点。

在 tableview 上,我一次可以有 4 个单元格。现在假设我有 6 行。

现在当我有 6 行时(tableview 只能显示 4 行),第 4 行显示 bottomRow.png,这很明显。但我的设计师坚持认为,即使 tableview 是滚动的,你也应该对所有 4 行采用相同的设计。


编辑1

首先,很抱歉没有说清楚。

好吧,当加载 UITableView 时,即使有 6 个单元格,我也只能看到前 4 个单元格,因为我已经相应地设置了 tableview 的高度。要查看其余 2 个单元格,我必须向下滚动。我相信这就是表格 View 的工作方式。

现在假设只有 4 条记录。对于 4 条记录,表格 View 看起来像我的图像。

现在,当我将 tableview 大小设为 6(id 设为 1-6)时,第四行获取图像 middleRow.png。这里我的设计师想要看到的是 bottomRow.png。

现在假设我向下滚动。现在我看到单元格 ID 为 3-6 的行。现在 id 为 3 的单元格有 middleRow.png,但我的设计师想要看到 topRow.png。

我知道这很丑陋,但这是我的设计师希望看到的。

有什么建议可以完成这项工作吗?

最佳答案

实现目标的一种方法:使用 numberOfRows 确定此单元格是否是最后一个单元格。在您的 cellForRowAtIndexPath 中:

if (indexPath.row==0) {
selectedImage = [UIImage imageNamed:@"topRow.png"];

.....

else if (indexPath.row == [tableView numberOfRowsInSection:indexPath.section]-1){
selectedImage = [UIImage imageNamed:@"bottomRow.png"];
}

编辑:

抱歉,我误解了你的问题,我有另一个建议,我认为你可以尝试...

  1. customCell,使用自定义方法设置其图像。例如,

    [customCell setSelectedImage: [UIImage imageNamed:@"middleRow.png"]; 

2。在cellForRowAtIndexPath中,你可以将所有单元格设置为:middleRow.png

3。加载 tableView 后,使用 [self.tableView visibleCells] 运行检查方法;

例如

 - (void) setImageForTopAndBottomCells{

CustomCell *topCell = [[self.tableView visibleCells] objectAtIndex: 0];
CustomCell *bottomCell = [[self.tableView visibleCells] objectAtIndex: self.tableView.visibleCells.count-1];

[topCell setSelectedImage: [UIImage imageNamed:@"topRow.png"];
[bottomCell setSelectedImage: [UIImage imageNamed:@"bottomRow.png"];
}
  1. 如果您的 tableView 是可滚动的,请将您的 ViewController 设置为 UIScrollView 委托(delegate),在您的委托(delegate)方法 scrollViewDidScroll 中,再次运行 setImageForTopAndBottomCells 方法。

可能有比我提议的更好的方法来实现您想要的,如果您找到了,请告诉我。

关于iphone - UITableView设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18644934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com