1. <tfoot id='k7Zcl'></tfoot>

        • <bdo id='k7Zcl'></bdo><ul id='k7Zcl'></ul>

        <legend id='k7Zcl'><style id='k7Zcl'><dir id='k7Zcl'><q id='k7Zcl'></q></dir></style></legend>

        <i id='k7Zcl'><tr id='k7Zcl'><dt id='k7Zcl'><q id='k7Zcl'><span id='k7Zcl'><b id='k7Zcl'><form id='k7Zcl'><ins id='k7Zcl'></ins><ul id='k7Zcl'></ul><sub id='k7Zcl'></sub></form><legend id='k7Zcl'></legend><bdo id='k7Zcl'><pre id='k7Zcl'><center id='k7Zcl'></center></pre></bdo></b><th id='k7Zcl'></th></span></q></dt></tr></i><div id='k7Zcl'><tfoot id='k7Zcl'></tfoot><dl id='k7Zcl'><fieldset id='k7Zcl'></fieldset></dl></div>

        <small id='k7Zcl'></small><noframes id='k7Zcl'>

      1. 带有 UIImageView 的 Swift 自定义 UITableViewCell.需要将单元格大小调整为图像高度

        时间:2024-04-15

      2. <legend id='MqxIA'><style id='MqxIA'><dir id='MqxIA'><q id='MqxIA'></q></dir></style></legend>
          <bdo id='MqxIA'></bdo><ul id='MqxIA'></ul>
              <tfoot id='MqxIA'></tfoot>

                    <tbody id='MqxIA'></tbody>
                  <i id='MqxIA'><tr id='MqxIA'><dt id='MqxIA'><q id='MqxIA'><span id='MqxIA'><b id='MqxIA'><form id='MqxIA'><ins id='MqxIA'></ins><ul id='MqxIA'></ul><sub id='MqxIA'></sub></form><legend id='MqxIA'></legend><bdo id='MqxIA'><pre id='MqxIA'><center id='MqxIA'></center></pre></bdo></b><th id='MqxIA'></th></span></q></dt></tr></i><div id='MqxIA'><tfoot id='MqxIA'></tfoot><dl id='MqxIA'><fieldset id='MqxIA'></fieldset></dl></div>
                1. <small id='MqxIA'></small><noframes id='MqxIA'>

                  本文介绍了带有 UIImageView 的 Swift 自定义 UITableViewCell.需要将单元格大小调整为图像高度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试制作应用程序,它将在表格视图中显示图像.我有带有图像视图的自定义单元格.它只需要从 url 下载图片数据:

                  I'am trying to make app, that will show images in table view. I have custom cell with image view. It only must download image data from url:

                  @IBOutlet weak var tweetImage: UIImageView!
                  var imageData : MediaItem? { didSet { updateUI() }}
                  
                  func updateUI(){
                      tweetImage.image = nil
                      if let url = imageData?.url {
                          if let data = NSData(contentsOfURL: url) {
                              tweetImage.image = UIImage(data: data)
                          }
                      }
                  }
                  

                  我需要在下载后更改单元格高度.它必须等于图像的高度.我在 viewController 中设置了自动尺寸:

                  I need to get the cell height was changed after the download. It must be equal to the height of the image. I set auto dimension in viewController:

                  override func viewDidLoad() {
                          super.viewDidLoad()
                          tableView.estimatedRowHeight = tableView.rowHeight
                          tableView.rowHeight = UITableViewAutomaticDimension
                      }
                  

                  我将aspect fit"设置为图像,我得到了奇怪的结果.图像超出了单元格的边界.也许我需要设置一些约束……我不知道.

                  I set "aspect fit" to image, I get strange results. The image extends beyond the boundaries of the cell. Maybe i need to set some constraints... I don't know.

                  结果:

                  但我需要这个:

                  推荐答案

                  如果要异步加载图片:

                  加载并设置新的 UIImage 后,您可以通过 UITableView 函数重新加载特定的单元格:

                  After you load and set new UIImage, you can reload specific cell via UITableView function:

                  - (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

                  在你的 UIViewController 中:

                  In your UIViewController:

                  override func viewDidLoad() {
                      super.viewDidLoad()
                      tableView.estimatedRowHeight = tableView.rowHeight
                      tableView.rowHeight = UITableViewAutomaticDimension
                      NSNotificationCenter.defaultCenter().addObserver(self, selector: "imageDidLoadNotification:", name:"CellDidLoadImageDidLoadNotification", object: nil)
                  }
                  
                  func imageDidLoadNotification(notification: NSNotification) {
                      if  let cell = notification.object as? UITableViewCell
                          let indexPath = tableView.indexPathForCell(cell) {
                          tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.None)
                      }
                  }
                  

                  在你的 UITableViewCell 中

                  In your UITableViewCell

                  func updateUI(){
                      tweetImage.image = nil
                      if let url = imageData?.url {
                          if let data = NSData(contentsOfURL: url) {
                              tweetImage.image = UIImage(data: data)
                              NSNotificationCenter.defaultCenter().postNotificationName("CellDidLoadImageDidLoadNotification", object: self)
                          }
                      }
                  }
                  

                  这篇关于带有 UIImageView 的 Swift 自定义 UITableViewCell.需要将单元格大小调整为图像高度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:UIImageView 上的用户交互 下一篇:CALayer 性能与 UIImageView 性能

                  相关文章

                    <legend id='9kpTJ'><style id='9kpTJ'><dir id='9kpTJ'><q id='9kpTJ'></q></dir></style></legend>

                  1. <tfoot id='9kpTJ'></tfoot>
                    • <bdo id='9kpTJ'></bdo><ul id='9kpTJ'></ul>
                    1. <small id='9kpTJ'></small><noframes id='9kpTJ'>

                      <i id='9kpTJ'><tr id='9kpTJ'><dt id='9kpTJ'><q id='9kpTJ'><span id='9kpTJ'><b id='9kpTJ'><form id='9kpTJ'><ins id='9kpTJ'></ins><ul id='9kpTJ'></ul><sub id='9kpTJ'></sub></form><legend id='9kpTJ'></legend><bdo id='9kpTJ'><pre id='9kpTJ'><center id='9kpTJ'></center></pre></bdo></b><th id='9kpTJ'></th></span></q></dt></tr></i><div id='9kpTJ'><tfoot id='9kpTJ'></tfoot><dl id='9kpTJ'><fieldset id='9kpTJ'></fieldset></dl></div>