Iphone 苹果手机。将视图从屏幕外移到屏幕内后出现问题

Iphone 苹果手机。将视图从屏幕外移到屏幕内后出现问题,iphone,uiviewcontroller,uibutton,Iphone,Uiviewcontroller,Uibutton,我认为这个问题的标题解释得很糟糕,所以我会尽量在这里做得更好。我有一个UIViewController项目。在主视图中,我放置了另一个较小的视图(320x200),我们称之为菜单。该视图主要位于可见屏幕之外的点(0,-180),因此当应用程序启动时,显示的顶部20px是from菜单,其余是主视图。到目前为止还清楚吗 当用户触摸菜单的可见部分(有一个UI按钮)时,整个self.view会随着动画向下移动,从而显示整个菜单。这个菜单有更多的按钮可以转到其他视图和执行其他操作,但是当触摸按钮时,它们根

我认为这个问题的标题解释得很糟糕,所以我会尽量在这里做得更好。我有一个UIViewController项目。在主视图中,我放置了另一个较小的视图(320x200),我们称之为菜单。该视图主要位于可见屏幕之外的点(0,-180),因此当应用程序启动时,显示的顶部20px是from菜单,其余是主视图。到目前为止还清楚吗

当用户触摸菜单的可见部分(有一个UI按钮)时,整个self.view会随着动画向下移动,从而显示整个菜单。这个菜单有更多的按钮可以转到其他视图和执行其他操作,但是当触摸按钮时,它们根本没有响应。如何使按钮工作?有什么建议吗

我发布了一些图片,因为看起来有点凌乱:p

根据请求添加代码: 当我说视图移动时,是的,我指的是帧,动画如下:

[UIView beginAnimations:@"MenuAnimationShow" context:NULL];
[UIView setAnimationDuration:1];
[self.view setFrame:CGRectOffset([self.view frame], 0, menu.frame.size.height-15)];
self.view.center = CGPointMake(160, 240 + menu.frame.size.height - 15);
[UIView commitAnimations];

而且,是的,按钮连接到iAction,但是当您单击时,什么也不会发生。我有一些NSLog在他们每个人,但从来没有得到记录任何东西。就好像你从来不碰他们一样。如果我将菜单UIView置于主视图(self.view)之上,它们也不会工作。更重要的是,菜单被忽略了,因为若下面(zPosition)有什么东西,你们可以触摸那个东西

你不应该移动self.view你应该移动菜单的框架,你只需要移动中心,因为这会影响框架的位置(我假设框架的宽度/高度不会改变)


你所说的自我观是什么意思?发布一些相关代码可能会有所帮助。你有菜单的视图吗?你正在移动该视图的框架吗?这可能很平庸:你是否已将这些按钮连接到某个iAction?菜单是主视图中的UIView,因此如果我移动self.view框架,我也会移动菜单的框架,对吗?还是我错了?我将给出一个tryMaybe Touch事件不会发生,因为您的“菜单”在视图控制器的视图之外。你不应该移动VC的视图。您必须放置2个子视图并移动它们,而不是移动视图控制器的视图。感谢的朋友,您的评论也使用@RyanJM代码为我提供了解决方案。终于好了!谢谢我用了这个主意,还有@beefon的。在动画中,我更改了菜单和菜单下方新视图的中心。所以在移动之后,它最终是交互式的。谢谢你们!您不需要将菜单放在另一个视图中。直接移动它应该很好。让您的视图尽可能简单。但我很高兴你能弄明白。
[UIView beginAnimations:@"MenuAnimationShow" context:NULL];
[UIView setAnimationDuration:1];
self.menu = CGPointMake(320/2, menu.frame.size.height/2);
[UIView commitAnimations];