2014-03-05 57 views
0

我期待创建一个可以调整用户与视图交互方式的缩放比例 - 放大/缩小。我的观点固定在我看法的顶端。我只想调整此视图的宽度,例如在用户放大时扩大水平视图,反之亦然。该视图本身包含4个额外的UIView,分别表示左右刻度,中心刻度和连接所有基本类似的水平视图:动态调整UIView在另一个UIView内的大小

| ------ | ------ |

我的缩放视图是包含其他4个视图的容器。我很好奇,如果我应该使用自动布局,以便视图根据包含这些其他视图的视图框架进行调整?还是有另一种方法?使用CALayer绘制出来并使用变换?

回答

0

我个人可能会使用autoresizingMasks,它们往往对我来说是非常一致的,至少在以编程方式分配时。 InterfaceBuilder是另一个故事。

topView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; 

基本上,这意味着该底部边缘(从顶视图到它的父视图的底部的底部)是柔性的和冠捷的宽度也具有柔性。所有其他利润将保持不变。因此,无论父视图的大小如何,topView左边的父视图的左边总是相同的。与右侧相同,topView将适当延伸以保持这些边距,因为它被授予宽度灵活的权利。

可能有其他方法可以做到这一点,但希望这有助于给你一些想法。

+0

是的,我关闭了IB中的自动布局,并且正在调整大小的蒙版,似乎按照我的意图工作。 – kschins

0

我想说这里的问题是“四个UIViews”。

相反,要一个的UIView:一个知道如何将自己绘制为标尺测量显示,基于实际数字浆纱自己的图纸视图(应该是多长时间在100%,我们多远放大或出)。

然后每次发生缩放时都会重绘(通过滚动视图委托方法很容易检测到)。

您原本可能使用过“四个UIViews”,因为您不知道如何实时绘制。但对于iOS编程而言,这是非常重要的,所以请继续学习如何做到这一点,您将会更加快乐。

+0

http://www.apeth.com/iOSBook/ch15.html – matt

+0

我的字面意思是输入一个评论,询问当你的链接加载时绘制更多的信息! – Logan

+0

我可以在大约一分半的时间内编写自绘“缩放”小部件的代码,例如您所描述的。这意味着它不会非常困难! :)不要害怕经常重画自己的观点;这种在iOS上的绘图速度非常快。 – matt