Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何调整iOS UI组件的大小与Interface Builder相同_Iphone_Ios_Objective C - Fatal编程技术网

Iphone 如何调整iOS UI组件的大小与Interface Builder相同

Iphone 如何调整iOS UI组件的大小与Interface Builder相同,iphone,ios,objective-c,Iphone,Ios,Objective C,我正在开发一个iOS应用程序,在这个应用程序中,用户可以在屏幕上拥有多个UI组件。此外,用户还可以拖动和重新定位这些组件。 现在,我希望所有UI组件都能通过用户的手指触摸来调整大小(就像我们可以用鼠标在Interface Builder中调整大小一样) 编辑: 正如上面的IB屏幕截图,我们可以用鼠标按住按钮周围的任何小正方形并调整按钮大小。我需要在我的应用程序中通过手指手势(可能是通过UIPangestureRecognitizer)实现同样的操作。我建议您在这些视图中添加一个捏手势,以便用户

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

编辑:


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

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

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

- (void)scaleObject:(UIPinchGestureRecognizer *)recognizer 
{
  NSLog(@"Object scale: %f", recognizer.scale);
}
并使用该比例更改对象大小。此外,您还可以使用其他手势,如:

  • UITAPPgestureRecognitor
  • UIPinchgESTURE识别器
  • 旋转手势识别器
  • 手势识别器
  • UIP感测识别器
  • UILongPress手势识别器

如果您使用夹点识别器拒绝解决方案。我建议为UI组件创建自定义包装,这将在框架的角落和每一侧的中间创建小的正方形。每个方块都应该有
UIPangestureRecognitor
来控制物体的大小。

伙计们,多亏了这个,我才能够实现我想要的。 现在我可以轻松地放置编辑手柄和调整任何UI组件的大小。
经过大约一周的搜索,我得到了这个解决方案,所以我想与大家分享

如果涉及到移动设备,掐是一条路要走。我建议同时检查两个手指是否在UI组件框架内。我认为UIPanGestureRecognizer在我的情况下会更合适。如果你考虑苹果公司正在为每个应用程序提供的用户体验,你不应该重新发明轮子,使用经过验证的移动应用解决方案。捏手势不适合我的情况,因为它使用两个手指触摸,通常用于放大/缩小。平移手势对我来说没问题。我试试这个,然后告诉你。