我是iPhone编程新手,我试图了解框架和边界属性是如何工作的。在接口构建器中,我创建了UIView,其中我将UIImageView作为子级放置在其中。我使UIImageView比父视图更大。并将“剪辑子视图”属性设置为:父UIView为true,子UIImageView为false。
以编程方式更改子frame.origin的UIImageView属性时。但是,当我更改父bounds.origin的UIView属性时,我什么也看不到。也许我错误地理解了bounds的目的。
如何才能获得iPhone应用程序编程指南中描述的行为:
您可以在不更改其他两个属性的情况下更改边界原点。这样做时,视图将显示已标识的基础图像的部分。图2-4(第56页),原始边界原点设置为(0.00.0)。在图2-5中,原点被移动到(8.0,24.0).As (结果),视图显示底层图像的另一部分。但是,由于框架矩形没有改变,所以新内容将显示在父视图中的相同位置。
提前谢谢。安德鲁
发布于 2009-01-25 06:59:47
首先,在尝试更改图像视图的边界之前,请确保对其进行了适当的引用。检查它不是nil。
其次,您可能需要更改矩形,然后在一个单独的语句中再次设置它,如下所示:
CGRect rect = imageView.bounds;
rect.origin = CGPointMake(whatever, whatever);
imageView.bounds = rect;边界可能不是你想要的。我不知道你从哪得到的那句话,但听起来不对。尝试使用图像视图的框架将其定位在其superview中。
https://stackoverflow.com/questions/477257
复制相似问题