0

我正在开发一个iOS应用程序,在该应用程序中,用户可以在屏幕上拥有多个UI component. 此外,用户可以拖动和重新定位这些组件。现在,我希望用户通过手指触摸调整所有UI 组件大小(就像我们可以在 Interface Builder 中使用鼠标调整大小一样)。

编辑: 在此处输入图像描述

如上面IB的屏幕截图,我们可以用鼠标按住按钮周围的任何小方块并调整按钮的大小。我需要在我的应用程序中通过手指手势(可能通过UIPanGestureRecognizer)实现同样的事情。

4

3 回答 3

1

我建议您在这些视图中添加捏合手势,以便用户可以进行缩放。

UIPinchGestureRecognizer *twoFingerPinch = 
  [[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scaleObject:)] autorelease];
[[self view] addGestureRecognizer:zoomGesture];

和方法:

- (void)scaleObject:(UIPinchGestureRecognizer *)recognizer 
{
  NSLog(@"Object scale: %f", recognizer.scale);
}

并使用该比例更改对象大小。此外,您可以使用其他手势,例如:

  • UITapGestureRecognizer
  • UIPinchGestureRecognizer
  • UIRotationGestureRecognizer
  • UISwipeGestureRecognizer
  • UIPanGestureRecognizer
  • UILongPressGestureRecognizer
于 2013-10-03T07:25:07.420 回答
0

如果您拒绝带有捏识别器的解决方案。我建议为 UI 组件创建自定义包装器,这将在框架的角落和每一边的中间创建小方块。每个正方形都应该UIPanGestureRecognizer控制对象的大小。

于 2013-10-03T07:50:18.977 回答
0

伙计们感谢这个美丽的例子,我能够实现我想要的。现在我可以轻松地放置编辑句柄并调整任何 UI 组件的大小。在搜索了大约一周后,我得到了这个解决方案,所以想到了分享。

于 2013-10-10T07:05:55.827 回答