【问题标题】:Using background images for UITableViewCells (grouped style) - corners not rounded为 UITableViewCells 使用背景图像(分组样式) - 不圆角
【发布时间】:2011-04-05 15:39:30
【问题描述】:

我正在尝试创建一个分组样式表视图,其中包含带有背景图像的单元格。表格视图和单元格都已在 Interface Builder 中设置。

一切正常,但是单元格不会剪切背景图像的角落,使单元格保持正方形。我尝试启用“剪辑子视图”,我尝试将 UIImageView 添加为子视图(而不是将背景视图设为图像视图),我都尝试直接选择背景图像或将单独的 UIImageView 连接到单元格的backroundView Outlet - 无济于事。

我也尝试过以编程方式设置单元格 - 不起作用。似乎唯一可以使角变圆的方法是直接在 Interface Builder 中选择背景颜色(不是图像),这不是我想要的。

还有其他关于 SO 的问题以及相关问题,但是没有一个涉及背景图像的使用,因此没有任何帮助。

非常感谢您的任何见解..!

【问题讨论】:

    标签: iphone objective-c ios uitableview interface-builder


    【解决方案1】:

    你试过_table.backgroundColor = [UIColor clearColor];吗?

    修复:_cell.backgroundColor = [UIColor colorWithPatternImage:image];

    【讨论】:

    • 怎么样 _cell.backgroundColor = [UIColor colorWithPatternImage:image];
    • !!工作!谢谢老兄,在白白浪费了 32479 小时之后,你拯救了我的一天!!请在您的答案中包含解决方案,以便其他有相同问题的人更容易找到!再次感谢!!
    • 需要注意的一点 - 图像不会被拉伸。因此,在将图像应用为背景图案之前,请尝试将其调整为单元格的高度。
    【解决方案2】:

    以上对我不起作用。

    首先将窗口的背景设置为您在应用委托中想要的颜色,如下所示:

    UIView *bgView = [[UIView alloc] initWithFrame:self.window.frame];
    bgView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"main_background.png"]];
    [self.window addSubview:bgView];
    [bgView release];
    

    现在,如果您只有一个视图控制器,只需将其背景设置为清除即可。我不得不进行下一步,因为我正在弹出一个带有表格视图的模态窗口,如果该视图的背景很清晰,它看起来会很不稳定。所以下面的代码修复了断断续续的视图,我仍然得到圆角,因为在视图出现后,我将背景设置为再次清除,并让窗口中的背景显示出来。

    - (void)viewDidLoad {
        [super viewDidLoad];
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"main_background.png"]];
    }
    
    - (void)viewDidAppear:(BOOL)animated {
        [super viewDidAppear:animated];
        self.view.backgroundColor = [UIColor clearColor];
        [self.tableView reloadData];
    }
    

    【讨论】:

      猜你喜欢
      • 2012-06-16
      • 2023-03-25
      • 1970-01-01
      • 2011-03-22
      • 2017-03-10
      • 2017-11-15
      • 2019-05-24
      • 2014-05-11
      • 2020-05-11
      相关资源
      最近更新 更多