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

怀化市网站建设_网站建设公司_RESTful_seo优化

做seo网站营销推广,网页设计培训好就业吗,网站营销信息,wordpress5.2中文版下载在项目中总是希望页面上各处的文字#xff0c;颜色#xff0c;字体大小甚至各个视图控件布局都能够在发版之后能够修改以弥补一些前期考虑不周#xff0c;或者根据统计数据能够随时进行调整#xff0c;当然是各个版本都能够统一变化。看到这样的要求后#xff0c;第一反应…在项目中总是希望页面上各处的文字颜色字体大小甚至各个视图控件布局都能够在发版之后能够修改以弥补一些前期考虑不周或者根据统计数据能够随时进行调整当然是各个版本都能够统一变化。看到这样的要求后第一反应是这样的页面只能改成H5或者尝试使用React Native来应对这种要求。   既然UIStackView已经提供了一种既先进又简洁的布局思路为何不通过制作一个类似VFL这样的DSL语言来处理布局。这样不就能够通过下发一串DSL字符串的方式来进行内容样式甚至布局的更换不用跟版还能使多版本统一。同时在端内直接用这样的DSL语言来写界面不光能够减少代码量易于维护还能够很直观方便的看出整个界面布局结构。   AssembleView组装视图和PartView零件视图   在设计格式化语言之前需要对布局做个统一思想进行管理在看了WWDC里关于UIStackView的介绍后感觉任何复杂的布局都能够通过这样一种组合排布再组合排布的思路特别适合用格式化语言来描述。于是我想出两个视图概念。   一个是AssembleView组合视图专门用于对其PartView子视图进行排列比如说是水平排列还是垂直排列PartView是按照居中对齐还是居左等对齐方式各个PartView之间间隔是多少。   PartView决定自己视图类型内容无固定大小的可以设置大小同时AssembleView可以作为PartView被加入另一个AssembleView里进行排列这样各种设计图都可以在初期通过拆解分成不同的AssembleView和PartView进行组合套组合布局出来。   格式化语言   接下来是如何通过格式化语言来描述AssembleView和PartView。“{}”符号里包含的是AssembleView的设置“[]”符号里是PartView的设置“()”里是他们的属性设置“”可以将对象带入到设置里。下面举几个例子说明下。完整Demo放到了Github上https://github.com/ming1016/STMAssembleView   三个星星水平对齐居中排列   h表示水平排列horizontalc表示居中center“[]”PartView会根据顺序依次添加排列imageName属性能够指定本地图片     三个星星水平对齐居中排列   {     hc(padding:30)     [(imageName:starmingicon)]     [(imageName:starmingicon)]     [(imageName:starmingicon)] }   AssembleView里套作为PartView的AssembleView的复杂情况   color可以指定文字颜色font指定文字大小     AssembleView里套作为PartView的AssembleView的复杂情况   {     ht(padding:10)     [avatarImageView(imageName:avatar)]     [         {             vl(padding:10)             [(text:戴铭,color:AAA0A3)]             [(text:Starming站长,color:E3DEE0,font:13)]             [(text:喜欢画画编程和写小说,color:E3DEE0,font:13)]         }         (width:210,backColor:FAF8F9,backPaddingHorizontal:10,backPaddingVertical:10,radius:8)     ] }   给PartView设置背景色和按钮   设置背景色使用backColor背景距离设置的PartView的内容间距通过backPaddingHorizontal属性设置水平间距backPaddingVertical设置垂直间距“”符号带入的button通过button属性设置。     [     {         hc(padding:4)         [(imageName:starmingicon,width:14,height:10)]         [(text:关注,font:16,color:FFFFFF)]     }     (height:36,backColor:AAA0A3,radius:8,backBorderWidth:1,backBorderColor:E3DEE0,backPaddingHorizontal:80,backPaddingVertical:10,button:) ]   AssembleView设置忽略约束的方法   水平排列时通过ignoreAlignment属性设置忽略left约束如果是垂直排列设置top忽略。     {     hc(padding:5)     [(text:STMAssembleView演示,color:E3DEE0,font:13)]     [(imageName:starmingicon,width:14,height:10,ignoreAlignment:left)]     [(text:Starming星光社,color:E3DEE0,font:13)] }   将前面的视图组合成一个AssembleView     将前面的视图组合成一个AssembleView   ASS({     vc(padding:20)     [%(height:90)]     [%(height:36,backColor:AAA0A3,radius:8,backBorderWidth:1,backBorderColor:E3DEE0,backPaddingHorizontal:80,backPaddingVertical:10,button:)]     [%(height:25)]     [%(ignoreAlignment:top,isFill:1,height:16)] },midStr,followBtStr,centerStr,desStr)   AssembleView的属性   当在“{}”里面第一个字母是v表示垂直排列vertical是h表示水平排列horizontal 第二个字母是c表示所有PartView居中对齐centerl表示居左对齐leftr表示居右对齐rightt表示居上对齐topb表示居下对齐bottom。 padding默认各个PartView的间距。   PartView的属性   如果不希望通过属性生成视图可以通过在[后直接填入带入对象对应的key然后再在()里设置属性。   PartView布局相关属性   widthUILabel和UIImage这样有固定大小的可以不用设置会按照固定大小的来。 height有固定大小的可以不用设置。 isFill垂直排列时会将宽设置为父AssembleView的宽水平排列时会将高设置为父AssembleView的高。 padding设置后会忽略父AssembleView里设置的padding达到自定义间距的效果。 partAlignment可以自定义对齐方向设置后会忽略父AssembleView里设置的对齐。值可填centerleftrighttopbottom。 ignoreAlignment设置忽略的约束方向在父AssembleView不需要由子PartView决定大小的情况下可以通过打断某个方向约束来实现拆开排列的效果。值可填centerleftrighttopbottom。   PartView权重相关属性   crpCompression Resistance Priority的设置根据权重由低到高值可以设置为fitlowhighrequired。对应的UILayoutPriority的分别是UILayoutPriorityFittingSizeLevelUILayoutPriorityDefaultLowUILayoutPriorityDefaultHighUILayoutPriorityRequired。 minWidth对应NSLayoutRelationGreaterThanOrEqual设置一个最小的宽 maxWidth对应NSLayoutRelationLessThanOrEqual设置一个最大的宽   PartView视图控件相关设置   通过以下属性即可生成对应的UILabelUIImageView或者UIButton等控件视图而不用特别指出需要生成哪种控件视图   text设置文字内容 font设置字体可以带入一个UIFont也可以直接设置一个字体大小解析时会判断类型。 color设置颜色可以带入一个UIColor也可以直接设置一个十六进制颜色解析时会判断类型。 imageName设置本地图片值是本地图片名称。 image带入一个UIImage。 imageUrl设置一个网络图片的url地址ps:目前需要通过来带入一个字符串。   PartView的通用设置   可以为PartView创建一个底部视图并设置其样式。也可以添加一个UIButton设置UIControlStateHighlighted时的样式。   backColor设置底部视图的颜色可以带入一个UIColor也可以直接设置一个十六进制颜色解析时会判断类型。 backPaddingHorizontal设置当前PartView视图距离底部视图top和bottom的间距。 backPaddingVertical设置当前PartView视图距离底部视图left和right的间距。 backBorderColor设置底部视图边框的颜色可以带入一个UIColor也可以直接设置一个十六进制颜色解析时会判断类型。 backBorderWidth设置底部视图边框宽。 radius设置底部视图的圆角半径。 button带入一个button。 buttonHighlightColor设置button在UIControlStateHighlighted时的颜色默认是透明度0.05的黑色。   解析格式化语言   解析过程的第一步采用扫描scanner程序将字符串按照分析符号表将字符流序列收集到有意义的单元中。   第二步将这些单元逐个归类到对应的类别中。比如解析到“()”里内容时就将其归类到对应的AssembleView的属性或者PartView的属性类别中。在归类过程中会出现PartView是AssembleView这个Assemble里面又有这样作为PartView的AssembleView这样层层套的情况所以需要采用类似引用计数方式保证在最后一个“}”符号结束时能将整个Assemble递归进行解析。   第三步将各个类别集合转换成对应原生代码从而生成对应的视图布局。   具体实现可以查看STMAssembleView.m文件。Github地址https://github.com/ming1016/STMAssembleView   如何生成页面   生成页面需要实现格式化语言对应的原生代码所有PartView的属性都会存放在STMPartMaker里包括带入的自定义视图还有用于生成视图控件的属性等。PartView属性设置完成后会在STMPartView这个类中先决定对应的视图控件并将STMPartMaker里的属性都设置上。实现代码可以查看STMPartView.m里的- (STMPartView *)buildPartView方法。   接下来STMAssembleView会在buildAssembleView时进行布局具体实现代码可以查看STMAssembleView.m里的- (STMAssembleView *)buildAssembleView方法。
http://www.lebaoying.cn/news/61703.html

相关文章:

  • 山东省优质高职院校建设网站网页设计作业在线网站首页
  • 开发网站的好处中山网站制作专业
  • 磁县邯郸网站建设百度收录快的发帖网站
  • 阅读分享网站模板制作投票链接哪家好厂商
  • 建设网站的公司汇总营销策划公司收费明细
  • 怎么做系统网站海外最开放的浏览器
  • 为什么建设部网站进不去网站系统使用手册
  • 重庆seo网站排名优化为企业建网站
  • 公司网站建设工作重点打电话沟通做网站
  • 网站修改解析怎么做wordpress的api
  • 网站更新要怎么做网站备案和实名认证
  • 短租网站建设滨州网站建设报价
  • 网站建设打造营销型网站苏州专业网站建设开发
  • 婚庆 网站模板泉州最专业手机网站建设定制
  • 口碑好的邵阳网站建设网站建设相关资料整理的重要性
  • 单页面网站模板怎么做福建省建设厅网站节能办
  • 建筑专业网站有哪些阿里云域名查询系统
  • 安装好采集侠网站地图后在哪里查看网站地图软件定制化
  • 成都网站设计培训做婚姻网站流程
  • 阳泉购物网站开发设计搜索最多的关键词的排名
  • 唐山APP小程序网站开发搭建网站 注册执照
  • 做兼职看什么网站好广东智唯网站建设公司
  • 网站和平台有什么区别网站开发规范
  • 个人网站需要多大的网速响应式网站例子
  • 建设信用卡网站soho网站建设
  • 新余服装网站建设宝安沙井海岸城
  • 专业定制网站建设做网站好平台化
  • 老会计手把手教做帐官方网站火车头采集器和wordpress
  • 大学网站建设招标上海企业服务云电话
  • html5 网站开发工具wordpress使用ajax提交数据