iOS布局

1.Masonry 创建constraint来定义布局的方式:
1.1、 mas_makeConstraints :
你可以使用局部变量后者属性来保存以便下次应用它
1.2、 mas_updateConstraints: adding/updating
有时候你需哟啊更新constraint,而不是创建固定的constraint
1.3、 mas_remakeConstraints:
都是跟新constraint,不过,它是删除之前constraint,然后再添加新的
constraint;

2. Classy 是一个能与UIkit无缝结合stylesheet系统,借鉴与css思想,但引入新的语法和命名规则
2.1、 {}:
$main-color = #e1e1e1;
MyCustomView{
background-color:$main-color;
titile-insets:5,10,5,10;
>UIProgressView.tinted{
progress-tint-color:black;
track-tint-color:yellow;
}

}
^UIButton.warning, UIView.warning ^UIButton{
title-color[state:highlighted]:#e3e3e3;
}

2.2 默认样式:Classy在应用程序Bundle默认查找文件名为stylesheet.cas的样式文件。

3. Live Reload:Live Reload是实时显示编写UI代码效果的关键特性,他能够实时检查stylesheet
文件变化,无需重新编译、构建和运行模拟器,从而极大提高开发速度
3.1 Style Selecotors 是指定那个View使用那种样式的方式
3.1.1 Object Class
3.1.2 View Hierarchy
3.1.3 Style Class

3.2 Properties:Classy支持所有UIAppearance的属性和方法,也支持与UIAppearance无关的
很多属性。Classy使用与UIKit相同属性命名

4. Keep it DRY
4.1 Classy提供三种方式避免代码重复:grouping,nesting,variables

时间: 2024-10-12 14:37:27

iOS布局的相关文章

IOS布局笔记一(代码实现自己主动布局)

1.将一个试图放置在其父视图的中央位置,使用限制条件. 2.创建两个限制条件:一个是将目标视图的 center.x 位置排列在其父视图的 center.x 位置,而且另外一个是将目标视图的 center.y 位置排列在其父视图的 center.y 位置. 3.首先在 WildCatViewController.h中加入一个Button // // WildCatViewController.h // AutoLayoutDemo // // Created by wildcat on 14-4-

Xcode iOS布局autolayout和sizeclass的使用

一.关于自动布局(Autolayout) 在Xcode中,自动布局看似是一个很复杂的系统,在真正使用它之前,我也是这么认为的,不过事实并非如此. 我们知道,一款iOS应用,其主要UI组件是由一个个相对独立的可视单元构成,这些可视单元有的主要负责向用户输出有用的信息,有些则负责信息的输入(交互),交互的过程中往往还伴随有动画的效果,已达到整个信息传递的连贯性以及用户体验的细腻感.可视单元,在实际开发中主要是view.button等,那么这些可视单元的关系由两个基本的关系构成:兄弟关系和父子关系,整

深入理解IOS布局和view加载显示

前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内:而一个好的控件除了有对外一致的体验之外,还有其内在特征: 灵活性 低耦合 易拓展 易维护 通常特征之间需要做一些取舍,比如灵活性与耦合度,有时候接口越多越能适应各种环境,但是接口越少对外产生的依赖就越少,维护起来也更容易.通常一些前期看起来还不错的代码,往往也会随着时间加深慢慢“成长”,功能的增加

iOS布局和屏幕适配的一点总结

曾经,iOS开发是不需要考虑屏幕适配问题的,因为只有一种屏幕尺寸.而现在已经有了4种屏幕,4,5,6,6P,因此屏幕适配也成了iOS开发中必须考虑的问题.并且,这4种屏幕的宽高比全部都不一样,所以简单的按比例缩放并不能解决问题.我们最近做的一个APP也处理了屏幕适配,本文简单总结一下 根据屏幕类型判断 我不知道有没有更好的办法,我们的做法是根据设备类型,写一些if...else,或者switch语句 判断机型可以使用screen的height(不能使用width,因为4和5的width是一样的,

iOS布局---pch头文件设置和字号适配

由于4s,5s,6,6p,界面尺寸差别过大,如果在界面上,只是用同一个字号,在4s和5s上就会略显偏大,而在6p上就会显小.并且ios9系统原生字体相较于ios8和之前原生字体略粗,在字号上也错了一号,所以在不同的设备上,字号也应该有所不同,ios9上的字号要比ios8上的字号都要略小一号. 我设置的字号适配需要用到全局引用文件pch文件,如果你的项目中已存在pch文件,请忽略1-2步骤. 在Xcode6之前,新建工程的时候,系统就会帮我们自动新建一个以工程名为名字的pch (precompil

iOS: 布局可视化语法 Visual Format Syntax

可视化语法 Visual Format Syntax The following are examples of constraints you can specify using the visual format. Note how the text visually matches the image. 标准宽度 Standard Space [button]-[textField] 宽度约束 Width Constraint [button(>=50)] 与父视图关联 Connectio

iOS布局相关

LayoutSubViews 需要在某个View调整子视图的位置时,可以重写. 以下情况会出发LayoutSubViews方法的调用 init初始化不会触发layoutSubviews,但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时,也会触发 addSubview会触发layoutSubviews 设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化 滚动一个UIScrollView会触发layoutS

iOS中xib与storyboard原理,与Android界面布局的异同

用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML可以理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中主要的布置界面的方式有3种:代码,xib,storyboard. 1. 代码 代码布置界面是万能的,但通常很复杂.布置一个简单的界面可能需要很多行代码,因此十分繁琐. 下面为创建一个按钮的代码,最少也要3行: UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd

iOS界面布局设计

参考资料: 1. 谈谈如何学习ios 8的界面和布局设计 2. iOS 8 Auto Layout界面布局系列 3. 为iPhone 6设计自适应布局 4. 几张图弄明白iOS布局中的尺寸问题