iOS UIView 创建是不是都会经过initWithFrame

 我来答
匿名用户
2017-06-25
展开全部
继承UIView的类是没有推出下一视图的系统功能的。 能够推出下一视图的系统方法有两种 一、UINavigationController的子类,用pushViewController的方法; 二、UIViewController的子类,用presentViewController的方法。 如果你实在是非要用UIView的子类推出下一视图,只有自己写个推出功能。 步骤如下: 1、新建一个UIView,大小跟屏幕一样大,初始化位置在屏幕之外; 2、用UIView的动画功能,将上一步新建的UIView移入屏幕内。 这样看起来的效果跟系统提供的功能效果差不多了。 代码大概如下所示: //Screen_Width是屏幕宽度的宏定义 //Screen_Height是屏幕高度的宏定义 UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(Screen_Width, 0, Screen_Width, Screen_Height)]; [self addSubview:newView]; [UIView transitionWithView:newView duration:3.0 options:0 animations:^{ //执行的动画 newView.center=CGPointMake(Screen_Width/2, Screen_Height/2); } completion:^(BOOL finished) { //动画执行完毕后的首位操作 NSLog(@"动画执行完毕"); }];
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式