Iphone UIView&x27;s位置

Iphone UIView&x27;s位置,iphone,ios,uiview,Iphone,Ios,Uiview,我有4个视图,我正在这些视图中画圆圈。用户可以移动这些视图。如何获得每个视图相对于窗口的位置(我的意思是相对于320*480)? 我想使用视图的位置绘制和填充多边形。您可以使用UIView的frame属性检索其位置和大小。有关更多信息,请参见类参考: 例如: ... = myView.frame.origin.x; //x-coord ... = myView.frame.origin.y; //y-coord ... = myView.frame.size.width; //width ..

我有4个视图,我正在这些视图中画圆圈。用户可以移动这些视图。如何获得每个视图相对于窗口的位置(我的意思是相对于320*480)?
我想使用视图的位置绘制和填充多边形。

您可以使用
UIView
frame
属性检索其位置和大小。有关更多信息,请参见类参考:

例如:

... = myView.frame.origin.x; //x-coord
... = myView.frame.origin.y; //y-coord
... = myView.frame.size.width; //width
... = myView.frame.size.height; //height

您可以通过以下方式抓住该位置:

CGPoint positionOfAView = view.frame.origin;
或者,如果应用了变换:

CGPoint positionOFAView = view.bounds.origin;
或者,您可能希望抓住中心:

CGPoint centerOfAView = view.center;

你也看到了。

你又发了同样的问题。()在任何人回答之前,这个问题的回答方式与之前的相同。你能告诉我吗

  • 是否使用CoreGraphics在视图中绘制圆
  • 当你说4个不同的视图时,它们是如何管理的?它们是否同时显示
  • 是否在1个ViewController上添加了4个视图对象

  • 您可以使用

    CGRect-frame=[myView-frame]
    但请记住,它将根据其父视图发送坐标和原点
    并且在进行更改后
    myView.frame=frame
    
    希望这有帮助…

    如果你想移动一个视图(不改变它的大小),考虑使用这个属性,它可能会更方便。 下面是一个示例,假设您的圆结构是以某种方式构建的:)


    我正在做一个基于视图的应用程序,我添加了UIView的一个子类作为DrawCircle,在drawrect中我给出了绘制circle的代码。在nib文件中,我给出了一个图像并添加了4个视图。最初所有视图都会显示一个圆,因为我将视图作为DrawCircle的子类创建。现在用户可以将圆拖动到任何地方。但我想用颜色填充视图所包围的区域。我仍然感到困惑。您可以在触摸事件上向右移动视图,对吗?你想用一些颜色填充视图包围的区域(你是说所有四个视图?)。你是说只有视图的背景区域应该是彩色的吗?是的,将被所有4个视图包围的区域可以有两种方法。。。1.您为DrawCircle类设置了backgroundColor。这样,默认情况下,所有视图都将具有背景色。否则,2。要计算所有视图占用的框架,您需要使用drawcircle对象的“.frame”属性获取所有视图的框架。我只想知道每个视图相对于窗口的位置。您能给我发送一个示例代码吗。cRect frame=[myView frame];。。这将返回什么?我想得到物体的x和y坐标view@Priya:框架包含原点和大小。它们可以像frame.origin.x、frame.origin.y和frame.size.width和frame.size.height那样使用。根据需要更改这些值,并将新框架设置为视图。:)-(void)触摸移动:(NSSet*)触摸事件:(UIEvent*)事件{UITouch*触摸=[触摸任何对象];CGPoint触摸位置=[触摸位置视图:viewController.view];//获取触摸坐标//NSLog(@“%f%f”,touchLocation.x,touchLocation.y);如果((b)地点。x@priya:请在问题中张贴代码,以便我们更好地理解…请使用问题部分的“显示代码”选项
    myView.center = CGPointMake(circle.x + circle.width/2, circle.y + circle.height/2);