当前位置: 首页 > news >正文

wordpress添加小说板块seo建站需求

wordpress添加小说板块,seo建站需求,合肥seo管理,网络公司要求做网站工商网监把frame理解为占用区域,把bounds理解为边界。View在旋转过程中,其实自己的坐标系统并没有发生改变,bounds中的origin只能通过setBounds方法修改。 frame 定义了视图在其父视图坐标系统中的位置和大小。其坐标系是相对于俯视图的坐标系。 bou…

把frame理解为占用区域,把bounds理解为边界。View在旋转过程中,其实自己的坐标系统并没有发生改变,bounds中的origin只能通过setBounds方法修改。

frame 定义了视图在其父视图坐标系统中的位置和大小。其坐标系是相对于俯视图的坐标系。
bounds 定义了视图自身坐标系统中的位置和大小。其坐标系是相对于自己本身视图的坐标系。

UIView.h中的注释:

// 如果视图进行了变换,不要使用 frame,因为它不会正确反映视图的实际位置。使用 bounds + center 代替。
@property(nonatomic) CGRect frame;// 如果非恒等变换,请使用 bounds/center 而不是 frame。
@property(nonatomic) CGRect bounds;      // 默认 bounds 是原点为零,大小为 frame 的大小。
@property(nonatomic) CGPoint center;      // center 是 frame 的中心,相对于 anchorPoint。
  • bounds的x,y是根据自己的坐标系统而言的。没错,每个view都有自己的坐标系。以自己左上角点为坐标原点。所以bounds的x,y默认为(0,0),除非调用setBounds方法;
  • frame的size不一定等于bounds的size,在旋转后它们的size就不一样了。

有如下示例:


- (void)viewDidLoad {[super viewDidLoad];UIButton *animateButton = [UIButton buttonWithType:UIButtonTypeSystem];animateButton.frame = CGRectMake(100, 250, 100, 50);[animateButton setTitle:@"Animate" forState:UIControlStateNormal];[animateButton addTarget:self action:@selector(startAnimation) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:animateButton];self.fView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];[self.view addSubview:self.fView];self.fView.backgroundColor = [UIColor orangeColor];self.sView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];[self.fView addSubview:self.sView];self.sView.backgroundColor = [UIColor blueColor];NSLog(@"Bounds:");NSLog(@"fView x:%f; sView x:%f", self.fView.bounds.origin.x, self.sView.bounds.origin.x);NSLog(@"fView y:%f; sView y:%f", self.fView.bounds.origin.y, self.sView.bounds.origin.y);NSLog(@"frame:");NSLog(@"fView x:%f; sView x:%f", self.fView.frame.origin.x, self.sView.frame.origin.x);NSLog(@"fView y:%f; sView y:%f", self.fView.frame.origin.y, self.sView.frame.origin.y);
}- (void) startAnimation {[self.fView setBounds:CGRectMake(60, 60, 100, 100)];NSLog(@"Bounds:");NSLog(@"fView x:%f; sView x:%f", self.fView.bounds.origin.x, self.sView.bounds.origin.x);NSLog(@"fView y:%f; sView y:%f", self.fView.bounds.origin.y, self.sView.bounds.origin.y);NSLog(@"frame:");NSLog(@"fView x:%f; sView x:%f", self.fView.frame.origin.x, self.sView.frame.origin.x);NSLog(@"fView y:%f; sView y:%f", self.fView.frame.origin.y, self.sView.frame.origin.y);
}

点击按钮我们发现,明明更改的是fView的bounds,为什么fView的位置没变,但是sView的位置向左上了呢?
其实setBounds中的(x,y)只改变自己的坐标系统,子View的bounds和frame并不会改变;
setBounds是修改自己坐标系的原点位置,进而影响到子View的显示位置;
bounds改变位置时,改变的是子视图的位置,自身没有影响,其实就是改变了自身的坐标系原点,默认原点在左上角。

因此执行完setBounds后,实际上是将当前fView的视图的原点移到了相对于原来原点的(60,60)位置,但是由于fView设定的frame是(100,100),因此它本身的frame不变,只是相当于移动了坐标系往左上了。又因为sView是fView的子视图,sView的frame是相对于fView的坐标系来设定位置的,因此,sView还是处于相对于fView的(0,0)位置,因此我们看上去sView的位置就像是随着fView的坐标系一起向左上移动了,但实际上sView的frame没有改变,打印出来还是(0,0)。

总结

frame: 描述视图在其父视图中的位置和大小,是“绝对”的。
bounds: 描述视图自身的内容区域和尺寸,是“相对”的。

http://www.ds6.com.cn/news/39108.html

相关文章:

  • 杭州公司有哪些cpu优化软件
  • 北京小程序 app开发公司seo双标题软件
  • 室内设计人才网seo核心技术排名
  • 公司让我做网站网站策划是干什么的
  • 怎么免费做网站广告营销留电话网站
  • 爱网址徐州自动seo
  • 网站编辑做的准备国内广告联盟平台
  • 无锡大型网站设计公司武汉关键词排名推广
  • 微信网站开发平台上海sem
  • 现在清算组备案在哪个网站做百度网盘app官网下载
  • 做网站 微信开发前景北京百度搜索排名优化
  • 南通做网站厉害的本网站三天换一次域名
  • 做网站什么都不懂 怎么做电商平台建设方案
  • 设计素材网站上的素材可以商用吗lpl赛区战绩
  • 深圳南山logo设计公司seo实战培训视频
  • 做音箱木工网站网站搜索优化技巧
  • 电子商务网站软件建设的核心是什么网上国网app推广
  • 做网站树立品牌形象济南网站制作平台
  • 石家庄做网站的公司免费网页模板网站
  • 中英文切换网站海南百度推广seo
  • 建设厅网站密码找回推广服务公司
  • 中山蓝图科技网站建设长沙靠谱关键词优化服务
  • asp.net做的网站模板搜索广告
  • 百度验证网站新闻类软文
  • 重庆公司网站 技术支持爱站关键词
  • 泉州疫情最新数据seo查询软件
  • 网站更换服务器如何做镜像seo优化培训机构
  • 大学生做网站赚钱流程seo网站营销公司哪家好
  • 公司网站建设需求分析温州云优化seo
  • 什么做网站推广搜狗网址导航