iOS 7 上的 cell.imageView.image 和 indentationLevel

Posted

技术标签:

【中文标题】iOS 7 上的 cell.imageView.image 和 indentationLevel【英文标题】:cell.imageView.image and indentationLevel on iOS 7 【发布时间】:2013-09-20 09:11:27 【问题描述】:

如何让图片和文字之间的距离更近? 在ios 6中同样的代码正常显示,但是在新版本中距离增加了。

我用标准方法做任何事情

[cell.textLabel setText: .....

// cell.indentationLevel = 0; // this is for test

UIImage * img = [UIImage imageNamed: @ "image10.png"];
             NSData * imageData = UIImagePNGRepresentation (img);
            cell.imageView.image = [UIImage imageWithData: imageData];

附上图片 https://www.dropbox.com/s/lt119xgozvzzstd/image01.png

【问题讨论】:

【参考方案1】:

如果我没记错的话,缩进级别只会影响文本。因此,当您更改缩进级别/宽度时,实际上是在更改 imageViewtextLabel 之间的距离。

我对此进行了测试,不幸的是,您无法将 indentationWidth 设为负数。因此,您需要将UITableViewCell 子类化并使用您自己的视图进行设置(我建议在情节提要中使用自动布局进行此操作,并将indentation 设置为NSLayoutConstraint,以便您在单元格上拥有一个属性indentationConstant,例如您可以更改)。我这样做的目的略有不同,我需要缩进整个contentView。抱歉,无法在 Storyboard 中子类化和创建自定义视图。 (我什至不会建议访问子视图和修改它们的框架的一些可怕的黑客,今天一切都是自动布局)。

【讨论】:

以上是关于iOS 7 上的 cell.imageView.image 和 indentationLevel的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 上的 UIBarButtonSystemItemRefresh

iOS 7 上的 UIImagePickerController:方形模式?

减少 UITextView iOS 7 上的行距

如何在 iPad 上的 iOS 7 上的 UITableView 单元格右侧绘制图像?

iOS 6 和 iOS 7 上的 UICollectionView 重新加载

IOS 7.1 上的 requestWhenInUseAuthorization 错误