iOS 8 Storyboard Auto Layout 中的 UIImageView 拉伸
Posted
技术标签:
【中文标题】iOS 8 Storyboard Auto Layout 中的 UIImageView 拉伸【英文标题】:UIImageView stretch in iOS 8 Storyboard Auto Layout 【发布时间】:2014-11-01 21:40:26 【问题描述】:我的UIImageView
工作正常,只是它超出了UITableViewCell
的范围
我正在从 Instagram API 中提取标准分辨率 照片,即 612x612。我需要将它放在 UIImageView
中的自定义 UITableViewCell
这将使用自动布局来更改每个设备的 UIImageView
的大小。
我不确定这在 Xcode 6 ios 8 中是如何工作的,因为我尝试过的方法到目前为止还没有奏效,因为图像只是在设备视图的范围之外延伸。
任何帮助将不胜感激,谢谢!
CustomTableViewCell.m
- (void)layoutSubviews
[super layoutSubviews];
[self.imageViewPic setTranslatesAutoresizingMaskIntoConstraints:YES];
ViewController.m
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 600.0;
NSString *imageURL = [NSString stringWithFormat:@"%@", standardResolutionLocal.url];
__weak MWebListTableViewCellTwo *mCell = api2Cell;
[mCell.imageViewPic
sd_setImageWithURL:[NSURL URLWithString:imageURLInstagram]
placeholderImage:[UIImage imageNamed:@"placeholder"]];
【问题讨论】:
【参考方案1】:当与基于自动布局的动态单元格高度一起使用时,我注意到 UIImageView 存在问题。视图布局良好,但图像本身并未按照“contentMode”属性的定义进行拉伸。
在显示之前强制单元格布局,以某种方式修复它,但在选择后它会返回到非拉伸版本,因此需要更多工作。 UITableView 的子类可能会完成这项工作。
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
[cell layoutIfNeeded];
【讨论】:
以上是关于iOS 8 Storyboard Auto Layout 中的 UIImageView 拉伸的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 8 Today Extension 中从 Storyboard 加载特定的 ViewController
iOS 8 导航栏在 Storyboard 上的第二个 ViewController 中无法访问
尝试本地化 LaunchScreen.storyboard 以在 iOS 10 中使用 xcode 8.3.3 支持语言时出现问题
在 Xcode 中,如何重命名 Storyboard 中的约束?
转 iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束