UIToolbar 拒绝移动
Posted
技术标签:
【中文标题】UIToolbar 拒绝移动【英文标题】:UIToolbar refuses to move 【发布时间】:2013-05-22 20:41:04 【问题描述】:我一直在尝试将我的UIToolbar
移动到-(void)viewDidLoad
,但无论我使用什么,它都不起作用。我的示例代码如下:
[toolBarView setBounds:CGRectMake(0, 50, 150, 150)];
[toolBarView setCenter:CGPointMake(50,50)];
【问题讨论】:
首先检查您的工具栏是否不为零,其次使用框架属性 toolBarView.frame = CGRectMake(0,50,150,150) 进行定位和大小。 @danypata 已经检查过了,我也使用 NSLog(@"%f", toolBarView.frame.origin.y) 它说它是 50 但它没有显示出来。 不显示,你的意思是没有显示或者没有移动? @danypata 对此感到抱歉,我的意思是它不会在显示屏上移动 您是否尝试在viewDidAppear
方法中移动它?
【参考方案1】:
我能够做到这一点的方法是等到- (void)viewDidLayoutSubviews
被调用。当它被调用时,我调用了下面的代码:
- (void)viewDidLayoutSubviews
[toolBarView setBounds:CGRectMake(0, 50, 150, 150)];
[toolBarView setCenter:CGPointMake(50,50)];
【讨论】:
【参考方案2】:尝试在界面构建器中关闭自动布局(不推荐,但应该会有所帮助)。自动布局设置为使用约束来在屏幕上定位视图,它将始终强制执行它们的应用程序。对frame
/bounds
/center
属性的任何手动分配都会触发重新布局,从而导致您的更改被覆盖。如果没有帮助,请尝试使用 viewWillAppear
更改 position
。
【讨论】:
以上是关于UIToolbar 拒绝移动的主要内容,如果未能解决你的问题,请参考以下文章