Iphone 如何在UIScrollView中修改UIImageViews子视图的位置?
我试图在UIImageView之间创建间隙,UIImageView是添加到UIScrollView中的子视图 我想我可以通过修改UIImageView的CGRect来完成以下工作。 CGRect frame=imageView.frameIphone 如何在UIScrollView中修改UIImageViews子视图的位置?,iphone,ios,ipad,uiscrollview,uiimageview,Iphone,Ios,Ipad,Uiscrollview,Uiimageview,我试图在UIImageView之间创建间隙,UIImageView是添加到UIScrollView中的子视图 我想我可以通过修改UIImageView的CGRect来完成以下工作。 CGRect frame=imageView.frame frame.origin.x = <some values> frame.origin.y = 0 imageView.frame = frame; 通过修改x值,我认为它将帮助我确定UIImageView在UIScrollView中的位置 然而
frame.origin.x = <some values>
frame.origin.y = 0
imageView.frame = frame;
通过修改x值,我认为它将帮助我确定UIImageView在UIScrollView中的位置
然而,我意识到我为frame.origin.x设置的值实际上并不重要。由于UIScrollView中的每个UIImageView将并排放置,没有任何空白。我认为您这样做是错误的。您不能通过编辑视图的位置
view.frame.origin.x = something;
您应该指定一个新的帧,如下所示:
view.frame = CGRectMake(x, y, w, h);
CGRect frame = imageView.frame;
CGFloat frameX = frame.origin.x;
CGFloat frameY = frame.origin.y;
CGFloat frameW = frame.size.width;
CGFloat frameH = frame.size.height;
frameX = <some values>
frameY = 0;
imageView.frame = CGRectMake(frameX, frameY, frameW, frameH);
在您的情况下,它将如下所示:
view.frame = CGRectMake(x, y, w, h);
CGRect frame = imageView.frame;
CGFloat frameX = frame.origin.x;
CGFloat frameY = frame.origin.y;
CGFloat frameW = frame.size.width;
CGFloat frameH = frame.size.height;
frameX = <some values>
frameY = 0;
imageView.frame = CGRectMake(frameX, frameY, frameW, frameH);
我会仔细检查你的相框、尺寸、宽度。设置frame.origin.x是正确的方法。也许UIImageView仍然重叠?所有的frame.size.width返回相同的值。frame.size.width与UIImageView是否重叠?frame.size.width不就是CGRect的宽度吗?嗨@Kashiv,我照你说的做了。还做了CGRect的NSLog,它反映了我为每个UIImageView.Hi@Kashiv生成的x坐标。非常感谢。我明白了,为了让我的问题变得更糟,我甚至有一种方法,即使在我添加了你的代码之后,也会开始重新排列我的视图。