bringSubviewToFront + setFrame 不起作用
Posted
技术标签:
【中文标题】bringSubviewToFront + setFrame 不起作用【英文标题】:bringSubviewToFront + setFrame doesn't work 【发布时间】:2013-08-06 15:35:41 【问题描述】:我正在尝试将视图置于前面,然后从该视图设置框架。
但是位置没有改变。如果我评论[viewGeral bringSubviewToFront:viewSearchPp];
行并设置viewSearchPp 的框架。有效
[viewGeral bringSubviewToFront:viewSearchPp];
[viewSearchPp setFrame:CGRectMake(viewSearchPp.frame.origin.x, viewSearchPp.frame.origin.y + 100, viewSearchPp.frame.size.width, viewSearchPp.frame.size.height - 100)];
【问题讨论】:
【参考方案1】:不应该是bringSubviewToFront,然后是setFrame,它应该是setFrame,然后是bringSubviewToFront。
应该是这样的
[viewSearchPp setFrame:CGRectMake(viewSearchPp.frame.origin.x, viewSearchPp.frame.origin.y + 100, viewSearchPp.frame.size.width, viewSearchPp.frame.size.height - 100)];
[viewGeral bringSubviewToFront:viewSearchPp];
【讨论】:
【参考方案2】:如果您将 viewSearchPp 添加为 viewGeral 的子视图,则问题可能是您使用的是 frame 属性而不是 bounds。试试这个:
[viewGeral bringSubviewToFront:viewSearchPp];
[viewSearchPp setFrame:CGRectMake(viewSearchPp.bounds.origin.x,
viewSearchPp.bounds.origin.y + 100,
viewSearchPp.bounds.size.width,
viewSearchPp.bounds.size.height - 100)];
让我知道这是否有效。
【讨论】:
以上是关于bringSubviewToFront + setFrame 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
bringSubviewToFront 将 UIView 移回原始位置
在 Ipad 滚动视图中使用bringSubviewToFront
bringSubviewToFront 不适用于下拉视图(UIView)
我将如何为bringSubviewToFront 编写 UIView 淡入动画