首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    ios9中 UIStackView的使用

    ios9中 UIStackView的使用 by 伍雪颖 UIStackView能够 垂直或水平排布多个subview, 自己主动为每一个subview创建和加入Auto Layout

    1.1K10编辑于 2022-07-10
  • 来自专栏一“技”之长

    iOS9新特性——堆叠视图UIStackView

    iOS9新特性——堆叠视图UIStackView 一、引言         随着autolayout的推广开来,更多的app开始使用自动布局的方式来构建自己的UI系统,autolayout配合storyBoard 和一些第三方的框架,对于创建约束来说,已经十分方便,但是对于一些动态的线性布局的视图,我们需要手动添加的约束不仅非常多,而且如果我们需要插入或者移除其中的一些UI元素的时候,我们又要做大量的修改约束的工作,UIStackView 二、在storyBoard上初识StackView         UIStackView是一个管理一组堆叠视图的控制器类视图,所谓堆叠视图时一种平铺式的线性布局方式,不可重叠,布局方向也不可交错,如果你做过 三、从代码学习UIStackView         通过代码创建一个UIStackView也非常简单,首先,我们先通过代码实现上面的效果:  NSMutableArray * array = [[NSMutableArray  * stackView = [[UIStackView alloc]initWithArrangedSubviews:array];     [self.view addSubview:stackView

    4.1K11发布于 2018-08-15
  • 来自专栏一个番茄说

    浅析为何能通过FDStackView在iOS9以下使用UIStackView

    大家都知道在iOS9苹果提供了一个新的玩具UIStackView,然而在iOS9以前是没有办法使用的。 :\n" ".quad _OBJC_CLASS_$_UIStackView\n" #else ".align 2\n" "_OBJC_CLASS_UIStackView :\n" ".long _OBJC_CLASS_$_UIStackView\n" #endif ".weak_reference _OBJC_CLASS_$_UIStackView \n" ); 这段代码的主要作用是在DATA这个segment中暴露了L_OBJC_CLASS_UIStackView这个符号,它指向了符号OBJC_CLASS$_UIStackView(编译器硬编码确定 FDStackView就华丽变身为UIStackView了。

    98030发布于 2018-08-20
  • 来自专栏前端小吉米

    IOS 生态如何做多端适配

    UIStackView 拥有三个规则 分布方向、对齐规则、分布规则,优先指定 axis 属性,来定义布局轴的方向。 这个属性的特点就是很适合用在 横竖屏切换上使用,按照 iphone 的 wRhC(横屏)、wChR(竖屏) 的 trait 设置不同的 constraint,可以得到响应式适配的效果: wRhC 横屏布局: UIStackView.axis wChR 竖屏布局:UIStackView.axis = “vertical”, Distribution = “Equal Spacing” ? AnatomyofaConstraint.html ) UIDevice 获取机型 ( https://developer.apple.com/documentation/uikit/uidevice ) UIStackView - UIKit | Apple Developer Documentation ( https://developer.apple.com/documentation/uikit/uistackview

    2.5K10发布于 2020-05-26
  • 来自专栏欧阳大哥的轮子

    用MyLayout实现布局性能的提升以及对阿拉伯国家的支持

    视图的构建和布局时间 构建时间 Frame MyLayout AutoLayout Masonry UIStackView TGLinearLayout 0.08 0.164 0.219 0.304 0.131 0.198 0.258 0.131 TGFloatLayout 0.044 0.148 0.203 0.250 0.131 布局时间 Frame MyLayout AutoLayout Masonry UIStackView UIStackView的构建时长要稍微优于MyLayout的线性布局MyLinearLayout.但是布局时长则是MyLinearLayout的5.5倍。

    97860发布于 2018-08-22
  • 来自专栏向治洪

    iOS AutoLayout全解

    StackView UIStackView是iOS9新引入的控件,它支持垂直和水平排列多个子视图(SubView)。 例如:水平放置三个按钮,等宽,并且按钮间的间隙为10,如果自己实现会比较麻烦,而使用UIStackView则很容易实现。 UIStackView目前只支持iOS9+版本,如果要在iOS 7版本上使用UIStackView,可以使用下面两个第三方库:OAStackView和TZStackView。 StackView属性 在理解StackView时,有几个属性需要理解: Axis: 这个属性是改变UIStackView中的排布方式的属性,其中有水平排布与垂直排布 Alignment:这个属性是其中子视图的位置摆布方式默认是填充摆布 Fill:子视图填充他所在的位置(默认) Leading:子视图头部对齐 Center:子视图居中对齐 Trailing:子视图尾部对齐 Distribution:子视图的大小 Fill:子视图填充整个UIStackView

    7.1K60发布于 2018-02-06
  • 来自专栏学海无涯

    iOS26适配指南之UIScrollView

    view.translatesAutoresizingMaskIntoConstraints = false return view }() lazy var stackView: UIStackView system) config.title = "More" button2.configuration = config let stackView = UIStackView

    97110编辑于 2025-10-02
  • 来自专栏iOS小生活

    Flexbox布局杂谈

    甚至苹果官方在iOS9的时候推出的UIStackView,采用的也是FlexBox思路来实现布局的。 Flexbox比AutoLayout提供了更多、更规范的布局方法,且更容易使用,而且苹果推出的使用Flexbox布局思路的UIStackView,我们也是需要去了解一下的。 它和iOS中自带的UIStackView类似,布局思路参照了Flexbox,比如horizontalAlignment、alignItems、flexWrap等属性很容易和Flexbox对应上。 如果你是原生开发,那么可以通过Texture或者UIStackView来使用Flexbox布局。 以上

    2.9K30发布于 2019-08-12
  • 来自专栏Swift社区

    为什么 SwiftUI 的视图使用结构体

    struct or class 通常这不是问题,但是有一个名为 UIStackView 的特定子类,它类似于 SwiftUI 中的 VStack 和 HStack。 在 UIKit 中,UIStackView 是一种非渲染视图类型,旨在简化布局,但这意味着即使它因为继承的原因具有背景色,也从未真正使用过。

    3.6K50发布于 2021-11-26
  • 来自专栏韦弦的偶尔分享

    为什么SwiftUI的视图使用结构体?

    struct or class 通常这不是问题,但是有一个名为UIStackView的特定子类,它类似于SwiftUI中的VStack和HStack。 在UIKit中,UIStackView是一种非渲染视图类型,旨在简化布局,但这意味着即使它因为继承的原因具有背景色,也​​从未真正使用过。

    4.6K10发布于 2020-03-26
  • 来自专栏学海无涯

    AutoLayout自动布局在线课程

    [AutoLayout.png] 本课程内容如下: AutoLayout概念 Xcode AutoLayout界面介绍 AutoLayout简单案例 AutoLayout进阶案例 UIStackView

    96930发布于 2019-01-12
  • 来自专栏娱乐心理测试

    Ios常用第三方框架(二)

    ExpandingStackCells - 采用 UIStackView 实现表格单元格扩展内容显示示例及解决方案。 FDStackView - 可以将 UIStackView 的最低支持版本拉低到 iOS6,无需配置,没有代码侵染,扔到工程里后直接用系统 UIStackView 的 API 即可,同时兼容 Storyboard

    13.4K60发布于 2018-09-26
  • 来自专栏柯柯哥的开发心得

    [iOS]swift开发实现滚动切换Tab导航

    menuScrollView.frame = bounds } private func addTabItems(titleArray:[String]){ let stackView =UIStackView isActive = true for(index,menuItem)intitleArray.enumerated() { let itemStackView =UIStackView

    1.9K10编辑于 2023-12-22
  • 来自专栏欧阳大哥的轮子

    iOS多设备适配简史以及相应的API支撑实现

    button.widthAnchor constraintEqualToAnchor:scrollView.widthAnchor multiplier:1 constant:-20].active = YES; UIStackView 在iOS9中还提供了一个UIStackView的类来简化那些视图需要从上往下或者从左往右依次添加排列的场景,通过UIStackView容器视图的使用就不再需要为每个子视图添加冗余的依赖约束关系了。

    1.8K30发布于 2019-03-05
  • 来自专栏戴铭的博客

    制作一个类似苹果VFL(Visual Format Language)的格式化语言来描述类似UIStackView那种布局思路,并解析生成页面

    既然UIStackView已经提供了一种既先进又简洁的布局思路,为何不通过制作一个类似VFL这样的DSL语言来处理布局。 AssembleView(组装视图)和PartView(零件视图) 在设计格式化语言之前需要对布局做个统一思想进行管理,在看了WWDC里关于UIStackView的介绍后感觉任何复杂的布局都能够通过这样一种组合排布再组合排布的思路特别适合用格式化语言来描述

    1.5K20发布于 2020-06-16
  • 来自专栏移动端周边技术扩展

    iOS11 UIBarButtonItem无法偏移问题坑

    UINavigationBar.class] && view.superview) { view = [view superview]; if ([view isKindOfClass:UIStackView.class

    1.9K70发布于 2018-06-15
  • 来自专栏王大锤

    iOS11UINavigationBar的item左右间距调整

    = nil) { view = [view superview]; if ([view isKindOfClass:[UIStackView class]] && = nil) { view = [view superview]; if ([view isKindOfClass:[UIStackView class]] &&

    3.8K50发布于 2018-05-17
  • 来自专栏王大锤

    iOS11UINavigationBar的item左右间距调整

    = nil) { view = [view superview]; if ([view isKindOfClass:[UIStackView class]] && = nil) { view = [view superview]; if ([view isKindOfClass:[UIStackView class]] &&

    2.1K30发布于 2018-07-04
  • 来自专栏大宇笔记

    iOS 关于Interface Building 的一些小技巧

    UIStackView StackView 是iOS9以后才有的,主要解决了组件排列布局复杂的问题,高效快速。 AutoLayout布局是不是遇到过一个均分排列的布局,还要隐藏显示其中一个。 UIStackView主要有四个属性: Axis(主轴是水平和垂直) Alignment Distribution Spacing ?

    3K31发布于 2020-02-13
  • iOS主线程卡顿优化实战:从30fps到60fps,用户体验翻倍(附GCD实战代码)

    优化方案是,移除无用的视图和嵌套层级,使用UIStackView简化布局,减少视图层级;避免使用clearColor透明度,尽量使用不透明的视图,降低GPU负担。 我们的优化方案是,使用UIStackView重构cell布局,将视图层级减少到2层;移除不必要的透明视图,将需要透明效果的视图,替换为不透明视图结合图片资源,减少混合渲染开销。

    21410编辑于 2026-04-22
领券