Ios 如何通过单击移动UIView?
我不确定我能否恰当地描述它。这是一种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
我只需要设置视图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)
{
}];
}