如何将水平单元重新设计为垂直单元格

时间:2015-12-30 09:59:23

标签: ios swift uitableview

这就是我所有细胞的样子。有些信息显示在单元格的右侧。而不是这个设计在左手边有一个圆形半径图像,在右手边有信息。我希望我的单元格成为一个图像,信息将在该图像的顶部。

enter image description here

这是我想要在我的单元格上拥有的样式,没有图像之间的空间,我通过删除信息标签并在单元格上使用水平堆栈视图来尝试。

enter image description here

但这就是细胞最终看起来像的样子。对于图像的半径,我没有以编程方式进行,我通过Identity Inspector进行了

  1. Keypath layer.cornerRadius

  2. 输入 Number

  3. 30

  4. 使图像变圆。除此之外,tableView中没有太多代码,它主要通过Main.StoryBoard完成,下面我添加了一些代码,显示了我如何配置单元格。关于如何实现这一目标的任何提示或想法?

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    
            let cellIdentifier = "Cell"
            let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! RestaurantTableViewCell
    
            //* Configure the cell...
           cell.nameLabel.text = restaurants[indexPath.row].name
            cell.thumbnailImageView.image = UIImage(named: restaurants[indexPath.row].image)
            cell.locationLabel.text = restaurants[indexPath.row].location
           cell.typeLabel.text = restaurants[indexPath.row].type
            cell.accessoryType = restaurants[indexPath.row].isVisited ? .Checkmark : .None
    
            return cell
        }
    

    enter image description here

3 个答案:

答案 0 :(得分:0)

所以看起来你使用AutoLayout问题就是你有正确的约束。您可以尝试删除约束并设置固定宽度。enter image description here

答案 1 :(得分:0)

第1步:添加UITableView并添加约束enter image description here

步骤2:添加UIImageView并将其设置为“Aspect Fill”否则您的圆角图像将不会覆盖整个单元格。 (如果需要,您也可以将其设置为“Aspect fit”)。并添加约束,如图所示。 enter image description here

第3步:添加标签和其他信息,并根据您的要求添加约束。

答案 2 :(得分:0)

如果您希望单元格显示图像,然后在该图像的顶部显示文本,我建议您将图像设置为单元格背景视图(如果需要,将角点四舍五入),然后填充标签和你正在做的配件视图。

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let dictData : NSDictionary = arrayOfData.objectAtIndex(indexPath.row) as! NSDictionary

    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)

    cell.textLabel?.text = "THIS IS SOME TEXT"

    if let image = dictData.objectForKey("Image"){
        cell.backgroundColor = UIColor.clearColor()
        let imageView = UIImageView(image: image as? UIImage)
        imageView.layer.cornerRadius = 30.0
        imageView.clipsToBounds = true
        cell.backgroundView = imageView

    }

    return cell
}

这将为您提供图像上的文字:

Custom cell background image