2KB项目,专业的源码交易网站 帮助 收藏 每日签到

运用 UIStackView 构建静态的 iOS 结构

  • 时间:2019-05-14 16:49 编辑:2KB 来源:2KB.COM 阅读:426
  • 扫一扫,手机访问
  • 分享
摘要:
Xamarin 英文原文:Building Dynamic Layouts for iOS with UIStackView

iOS上的视图结构历来都比较庞杂。在iPad和分歧尺寸的iPhone降生之前,开发者习气硬编码视图结构。跟着分歧尺寸的iOS装备呈现,这类方法已然不成取。为了处理这个问题,Apple供给了AutoLayout,它应用基于束缚的结构系统依据装备规格静态调剂你的用户界面AutoLayout处理了非常多问题,可是它不容易于把握、不轻易适应变更和调剂起来耗时耗力。举个例子,假如我想在两个控件中间添加别的一个,那末我必需重写非常多束缚来包管它准确的拔出。

那末我们能既容易又可以静态的结构视图吗?我最爱好的iOS9的变更就是,它带来了一个全新的控件UIStackView,UIStackView可以简化我们对视图结构的处置,它不像我们之前运用过的其它控件。在这篇博客,我将会详实的引见怎么运用UIStackView来构建静态、美丽的用户界面。

UIStackView sample

UIStackView简介

Apple留意到了我们运用AutoLayout苦楚,因而供给了一个Tools使我们的生涯愈加轻松。 UIStackView经过设置一些容易的属性在运转时创立束缚来消弭我们手动创立这些束缚的苦楚,这意味着我们可以向UIStackView经过容易的拖拽来添加控件,它会主动为我们生成束缚。它乃至还答应我们在运转时添加和删除视图(你需求设置它暗藏)。

不需求像AutoLayout那样设置装备摆设束缚,取而代之的是你需求设置一些很有描绘性的属性,比方坐标(Axis)、距离(Spacing)、对齐(Alignment)和散布(Distribution )等。天然的,你可以在属性设置面板上来设置装备摆设,如许你就能够经过鼠标轻松的制造出在一切iOS装备上都还不错的用户界面了。

uistack_hero_2x


UIStackView是我们Tools库里的一个很好的弥补,同时它也是不需求衬着的UIView的子类。正由于它不做衬着,你不克不及够设置它的布景色和重构它的Draw办法。相反,它是用来协助你结构子视图的控件。另外一个限制是,它与低于iOS9版本的装备不兼容,也就是说假如你需求向前兼容,还必需继续设置装备摆设束缚(记得在Xamarin Insights上查一下用户数据,看有几多用户依然运用iOS9之前版本的系统)。

Xamarin Studio UIStackViews

从StackLayout上添加和删除视图

UIStackView有一个添加和删除子视图的API,它可让你不必去过量思索你的视图结构。在stack view中的任何视图都需求用ArrangedSubviews属性来添加,而不是SubView。

//Add View
MyUIStackView.AddArrangedSubview(myView);
 
//Remove view
MyUIStackView.RemoveArrangedSubview(myView);

容易扩大一下,应用下面的办法,你可以轻松的为添加和删除视图加入动画后果。

// Animate stack
UIView.Animate(0.25, ()=>{
    // Adjust stack view
    MyUIStackView.LayoutIfNeeded();
});

更多

在我们的文档网站上,有非常多不错的文档来协助你运用UIStackViews

UIStackView曾经集成在最新版本Xamarin Studio和Visual Studio的Xamarin.iOS中。假如你目的的最低版本是iOS9以上,那末,你就能够应用UIStackView来构建在一切iOS装备上都不错的用户界面了。



本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协议,假如我们的任务有进犯到您的权益,请实时联络我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部