1
alexrezit 2013-07-15 18:12:19 +08:00
你到底想保持哪些地方的距离或尺寸不变?
|
2
fsw90628 2013-07-15 18:19:28 +08:00
只知道用代码可以。
sizeToFit |
3
refresh OP @alexrezit UILabel(子)根据UIView(父)等比放大,如UILabel={0, 0, 50, 50},UIView ={0,0, 100, 100},如果 UIView={0,0,200,200},则UILabel={0,0,100,100}。
IB太能驾驭了... |
4
PrideChung 2013-07-15 18:44:35 +08:00
IB里面的边距勾上了的话代表是固定的,不勾才是UIViewAutoresizingFlexible{Top,Right,Bottom,Left}Margin, 你如果是需要Label铺满它的父级View的话,把UILabel的固定边距和可变高度,可变宽度全部勾上,其实边距是否可变在这种情况下不重要。
详细看这个回答。 http://stackoverflow.com/questions/10468389/uiview-autoresizingmask-interface-builder-to-code-programmatically-create-st |
5
alexrezit 2013-07-15 19:33:56 +08:00
@refresh
等比用 autoresizing mask 似乎是不行的. 如果需要做复杂的缩放建议在 -layoutSubviews 里面写. |
6
PrideChung 2013-07-15 19:48:03 +08:00
@refresh 才发现你要等比缩放…… 只能自己重载 -layoutSubviews 算尺寸和位置, 或者用Auto Layout。
|
7
alexrezit 2013-07-15 19:56:09 +08:00
@PrideChung
Auto Layout 改起来麻烦死. |
8
PrideChung 2013-07-15 20:19:01 +08:00
@alexrezit 对于简单的布局的确是杀鸡用牛刀,复杂的布局才能体现Auto Layout的强大。最近发现xib有个好处是可以分别设置每个xib是否启用Auto Layout,Storyboard只能整个设置。
|
9
alexrezit 2013-07-15 20:38:52 +08:00
@PrideChung
强大是强大. 可用代码写起来更快维护也更方便啊... |
10
PrideChung 2013-07-15 20:44:08 +08:00
@alexrezit Auto Layout一样可以用代码写啊,还可以用Visual Format来简化布局的代码。
|