在UITableViewCell中设置UITextView排除路径无法正确布局

时间:2015-03-30 21:57:02

标签: ios uitableview swift

我正在尝试在UITableViewCell内指定图像周围的自动换行。我有一个UITextView和一个UIImageView(在上面)。当给定单元格存在图像时,图像将被取消隐藏,排除路径将设置在textContainer内的UITextView上。如果没有图片,则textContainer.exclusionPaths设置为nil。问题是,当没有图像时,排除路径保持设置,有时反之亦然(排除路径设置,但文本不会换行)。我在dequeueCellWithIdentifier中使用UITableView并调用我的函数setFields(在cellForRowAtIndexPath内)。当细胞重新初始化时,排除路径大部分时间都起作用。我认为这与时间有关。任何帮助表示赞赏。

	func setFields(avatar:UIImage?, author:String?, text:String?, images:[AnyObject], timestamp:String?){

		
		....

		self.thumbImageView.image = nil
		self.thumbImageView.imageURL = nil
		self.thumbImageView.hidden = true
		self.titleText.textContainer.exclusionPaths = nil
		
		if images.count > 0 {
			self.images = images
			if images is [UIImage] {
				self.thumbImageView.image = images[0] as? UIImage
			} else  {
				self.thumbImageView.imageURL = NSURL(string: images[0] as String)
			}
			
			self.cycleToImage(0)
			
			self.thumbImageView.hidden = false
			
			let convertedFrame:CGRect = self.titleText.convertRect(self.thumbImageView.frame, fromView: self)
			let exclusionPath:UIBezierPath = UIBezierPath(roundedRect: convertedFrame, cornerRadius: 0.0);
			self.titleText.textContainer.exclusionPaths = [exclusionPath]
		}
		
	}

0 个答案:

没有答案