如何将子视图放在屏幕上的任何位置,“停靠视图”

时间:2012-04-30 12:40:30

标签: iphone objective-c ios xcode ipad

在iOS上,有什么方法可以在屏幕(主视图)的任何位置放置视图(如子视图)?我正在为用户提供一个界面,他们可以将它放在任何他们想要的地方(停靠视图)?

4 个答案:

答案 0 :(得分:1)

尝试:

myView.frame = CGRectMake(x, y, width, height);

答案 1 :(得分:0)

请按照以下两个步骤操作:

1)。 yourSubView.frame = CGRectMake(xOffset,yOffset,50,50);

2)。 [self.view addSubview:yourSubView];

DRAG AND DROP:

如果您想拖动和拖动子视图,您可以使用touchmethods:获取当前的x和y坐标并动态填充它们。

LIKE:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *touch = [[event allTouches] anyObject];
    CGPoint location = [touch locationInView: touch.view];
    yourSubview.frame = CGRectMake(location.x, location.y, 50, 50);
}

答案 2 :(得分:0)

myView.frame = CGRectMake(x, y, width, height);

定义x,y,w,h;

myView.frame = CGRectMake(50, 50, 100, 100);

答案 3 :(得分:0)

我建议使用平移手势识别器(UIPanGestureRecognizer),而不是使用touchesBegan / touchesMoved / touchesEnded。它更容易,更清洁。

在Xcode文档中搜索“Touches”并查找具有该名称的示例应用程序。包括2个项目 - 一个使用手势识别器,另一个使用touchesBegan / touchesMoved / touchesEnded。

它准确显示了在屏幕上拖动视图时需要执行的操作。