在autolayout下,尽管使用IB来拖放控件,但仍然避免不了用代码来创建控件,这是约束需要代码来实现。IOS 提供了两种添加约束的方法第一种:+(instancetype)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr...
分类:
移动开发 时间:
2015-03-21 18:37:18
阅读次数:
160
今天尝试了一下autolayout与storyboard/xib来做UI,用起来还是感觉蛮得心应手的,再也不用担心写繁琐的UI代码了。故此也打算今后用xib来实现自定义控件(UIView Subclass),不料在做一个小例子的过程中遇到一个崩...
分类:
其他好文 时间:
2015-03-17 20:20:36
阅读次数:
182
1、要开始使用AutoLayout,请先设置要约束的view的translatesAutoresizingMaskIntoConstraints属性为NO。在xib或者sb中勾选Use Auto Layout,那么所有在xib或者sb中出现的view都已经默认将translatesAutoresiz...
分类:
其他好文 时间:
2015-03-17 19:32:33
阅读次数:
161
UILayoutSupport1 @property(nonatomic,readonly,retain) id topLayoutGuide NS_AVAILABLE_IOS(7_0); 2 @property(nonatomic,readonly,retain) id bottomLayout....
最近项目发现,在tableviewCell中布局使用autolayout,但是在iOS7系统运行出现没有更新布局的bug,解决办法:1.self.contentView.frame=self.bounds2.?self.contentView.bounds=CGRectMake(0,0,99999,...
分类:
移动开发 时间:
2015-03-14 10:58:08
阅读次数:
167
前面两节我们解决了歌手名label和按钮的布局问题,接下来我们对界面中的一列标签进行自动布局。
对label进行排版
选中5个label选择Align\Right Edges:
为这些label添加位置约束:
Release Year标签到左边界的距离为0Notes标签到顶部的垂直间距为64每个label之间的垂直间距为14
选择resolve auto la...
分类:
移动开发 时间:
2015-03-14 09:43:03
阅读次数:
174
接下来,我们对详情页中间右侧的控件进行排版。
首先将右侧这些空间拖动到合适的位置:
在label之间添加水平间距约束:
只有水平间距约束是不够的,还需要为这三个label添加y轴方向的约束,这里我们使用Editor菜单的Align\Baselines约束,分别为每行的两个label添加约束:
接下来,我们通过编码的方式,为album value label添加内容,...
分类:
移动开发 时间:
2015-03-14 09:41:27
阅读次数:
625
上一节我们完成了对歌手名称label的布局设置,这一节我们对最下方的三个按钮的布局进行配置。
首先选中三个按钮,设置Size to Fit Content,让这三个按钮拥有合适的大小:
为了方便查看按钮的大小,我们为按钮设置一个背景色并设置如下图所示的约束:
在预览窗口,旋转界面为横屏,可以看到三个按钮的布局可以接受:
如果三个按钮宽度一致,看起来会更好看一些, 接...
分类:
移动开发 时间:
2015-03-13 09:23:22
阅读次数:
169
/*关于autolayout多说几句 ?? ? ? ? * ? 在一个控件内存在autolayout与autoresize子控件时,要适配部分autoresize ?? ? ? ? * ? translatesAutoresizingMaskIntoConstraints 默认是打开转换的 ?? ...
分类:
移动开发 时间:
2015-03-12 13:29:22
阅读次数:
176
在代码中使用Autolayout时,大家都会使用NSDictionaryOfVariableBindings这个宏,这个宏可以生成一个变量名到变量值映射的Dictionary。比如NSDictionaryOfVariableBindings(button1, button2)将会生成一个{ @”bu...
分类:
其他好文 时间:
2015-03-12 11:20:42
阅读次数:
182