我有一个我创建的UIImageView正确吗?当我执行initWithImage并将参数设置为UIViewContentModeScaleToFill时,它就像魅力一样。我可以整天扩展并随心所欲地创建UIImageView的许多不同的小“拇指纹”版本,但是当我向UIImageView添加子视图然后尝试扩展子视图不能扩展的快乐新父级时!我环顾四周,发现我应该将parentView的setAutoresizingSubviews布尔值设为true(我做了),然后调用:
ChildView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
我也做了...现在,当我缩放父视图时,孩子也会缩放,但是疯狂地扯出来并且到处都是(不是很好的方式)但是我的观点是我认为孩子会按比例与父母成比例并保持在同一个地方(不是这样)
我的问题是如何设置我的代码,以便当我将父视图缩放1/4或w / e以制作视图的指纹时,父视图拥有的子视图将相应地缩放并允许1/4大小的指纹看起来就像全尺寸视图(只是更小)。
答案 0 :(得分:1)
要缩放子视图,您需要设置视图的仿射变换以缩放内容,而不是使用内容模式。
自动调整遮罩不适用于缩放子视图。相反,它是一个弹簧和支柱模型,用于在调整父视图大小时如何定位和调整子视图框架的大小。大多数情况下,当视图从横向旋转到纵向时反之亦然,反之亦然。
您要做的是缩放视图的内容。因此,我不是使用优化显示图像的UIImageView,而是创建UIView的自定义子类,然后在初始化中使用以下代码设置视图的变换:
self.transform = CATransform3DMakeScale(zoom, zoom, 1.0f);
然后将子视图放入。您可以重新设置变换,并且子视图将保持相对于彼此的相同位置,但是以不同的比例。