今天在搞一个项目,项目中UIViewController的布局是.xib文件。在.xib中有一个tableView。 由于我的.xib勾选了
所以就没办法在.xib中设置这个tableView的autoresizingMask。 于是我就在自己的代码里设置这个tableview的autoresizingMask =
UIViewAutoresizingFlexibleHeight可是当它的父视图变化的时候,这个值并没有任何作用。
于是我就自己用代码创建了一个UITableView并加在父视图上,并设置相同的autoresizingMask,发现有作用。
之所以会这样,有可能是你的xib勾选了autoLayout时,你.xib里布局的子view的autoResizingMask就无法改变了,即使你在代码里再更改这个view的autoResizingMask也不会起作用。 但这个不会影响你通过代码创建的view,你用代码创建的设置其autoResizingMask是有作用的。
注意:勾选了autoLayout时,设置.xib文件的view的frame也是不可以的。
当然,你也可以勾掉autoLayout,不使用autoLayout。这样就可以在.xib里设置autoResizingMask,也可以在代码里重新设置。