Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
Ios 如何通过单击移动UIView?_Ios_Objective C_Xcode_Uiview_Interface Builder - Fatal编程技术网

Ios 如何通过单击移动UIView?

Ios 如何通过单击移动UIView?,ios,objective-c,xcode,uiview,interface-builder,Ios,Objective C,Xcode,Uiview,Interface Builder,我不确定我能否恰当地描述它。这是一种UIView,我们只看到它的一部分(可能带有箭头,可能在屏幕底部)。用户可以点击它,这个视图会全屏显示(通常开发者会在这里留下一些附加信息)。我怎样才能做到 我只需要设置视图Y坐标的逻辑,当用户点击按钮时。这将设置动画,并在使用Y坐标设置重新设置图幅时,如下所示: yourview.frame = CGRectMake(0,280,320,568); [UIView animateWithDuration:2

我不确定我能否恰当地描述它。这是一种UIView,我们只看到它的一部分(可能带有箭头,可能在屏幕底部)。用户可以点击它,这个视图会全屏显示(通常开发者会在这里留下一些附加信息)。我怎样才能做到


我只需要设置视图Y坐标的逻辑,当用户点击按钮时。这将设置动画,并在使用Y坐标设置重新设置图幅时,如下所示:

 yourview.frame = CGRectMake(0,280,320,568);

  [UIView animateWithDuration:2
                              delay:0.1
                            options: UIViewAnimationOptionTransitionFlipFromBottom
                         animations:^{

                            yourview.frame = CGRectMake(0, 0, 320, 568);  
                    }
                     completion:^(BOOL finished){
                   }];
另请参见此示例:

在上面的github演示中,您正在寻找它的输出,如下所示:

查看UIView参考:

具体而言:

@property(nonatomic) CGPoint center

例如:

[UIView animateWithDuration:2.0 animations:^{
        myView.center = CGPointMake(self.view.center.x, self.view.center.y + myOffset);
    }];
持续时间以秒为单位。在这种情况下,需要2秒

如果使用的是
AutoLayout
,则可能需要更改
layout常量
,而不是
center
属性

关于布局约束:

查看
常量
属性。您还可以从Interface Builder中拖动约束出口并访问其
常量。一旦你对它有了一点了解,它就会变得非常简单。

试试这个:

-(void)show
{
    [viewObj setFrame:CGRectMake(viewObj.frame.origin.x,viewObj.frame.origin.y,viewObj.frame.size.width, viewObj.frame.size.height)];//Here "viewObj.frame.origin.y" means 568
    [UIView animateWithDuration:0.5 animations:^
     {
         [viewObj setFrame:CGRectMake(viewObj.frame.origin.x,0,viewObj.frame.size.width, viewObj.frame.size.height)];
     }
     completion:^(BOOL finished)
     {
     }];
}

-(void)hide
{
    [viewObj setFrame:CGRectMake(viewObj.frame.origin.x,viewObj.frame.origin.y,viewObj.frame.size.width, viewObj.frame.size.height)];//Here "viewObj.frame.origin.y" means 0
    [UIView animateWithDuration:0.5 animations:^
     {
         [viewObj setFrame:CGRectMake(viewObj.frame.origin.x,568,viewObj.frame.size.width, viewObj.frame.size.height)];
     }
     completion:^(BOOL finished)
     {
     }];
}
-(void)show
{
    [viewObj setFrame:CGRectMake(viewObj.frame.origin.x,viewObj.frame.origin.y,viewObj.frame.size.width, viewObj.frame.size.height)];//Here "viewObj.frame.origin.y" means 568
    [UIView animateWithDuration:0.5 animations:^
     {
         [viewObj setFrame:CGRectMake(viewObj.frame.origin.x,0,viewObj.frame.size.width, viewObj.frame.size.height)];
     }
     completion:^(BOOL finished)
     {
     }];
}

-(void)hide
{
    [viewObj setFrame:CGRectMake(viewObj.frame.origin.x,viewObj.frame.origin.y,viewObj.frame.size.width, viewObj.frame.size.height)];//Here "viewObj.frame.origin.y" means 0
    [UIView animateWithDuration:0.5 animations:^
     {
         [viewObj setFrame:CGRectMake(viewObj.frame.origin.x,568,viewObj.frame.size.width, viewObj.frame.size.height)];
     }
     completion:^(BOOL finished)
     {
     }];
}