Swift UILabel OverlapsUIImage在自定义UITableViewCell中

时间:2016-04-04 08:14:53

标签: swift uitableview uiimage uilabel

我正在使用自定义UITableViewCell(CardCell)制作UITableView。它左边是一个UIImage,右边是UILabel。

我从URL异步下载UIImage,并且Scal UIImage保持图像的宽高比,高度应为50像素,但宽度可以改变(取决于原始宽度和高度) 。我写了一个缩放图像的方法,它工作正常,但我的UILabel与UIImage重叠,如下所示:

enter image description here

我知道Image完全存在,因为当我点击并按住单元格(而不是真正选择单元格)时,我可以看到UILabel下方的Im​​age,如下所示:

enter image description here

这些是UIImage故事板的限制: enter image description here

enter image description here

这些是故事板上UILabel的约束: enter image description here

enter image description here

这是我为缩放下载的图片所写的代码:

const onlyIf = (condition, value) => condition ? value : null

<ul>
   {this.items.map((item, key)=>
     <li key={key} ref={onlyIf(item.isActive, 'activeItem')}>
       {item.name}
     </li>
    )}
</ul>

这是下载UIImage的代码,重新调整它(调用前一个函数)并在单元格中设置缩放的UIImage:

func scaleImage(sourceImage: UIImage) -> UIImage {    
    var oldHeight = sourceImage.size.height
    var scaleFactor = 50/oldHeight

    var newWidth = sourceImage.size.width * scaleFactor
    var newHeight = oldHeight * scaleFactor

    UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight))
    sourceImage.drawInRect(CGRectMake(0, 0, newWidth, newHeight))
    var newImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return newImage
}

0 个答案:

没有答案