回到我的视图控制器时,为啥我的 iPhone UIToolBar 这么大?
Posted
技术标签:
【中文标题】回到我的视图控制器时,为啥我的 iPhone UIToolBar 这么大?【英文标题】:Why is my iPhone UIToolBar so large when coming back to my view controller?回到我的视图控制器时,为什么我的 iPhone UIToolBar 这么大? 【发布时间】:2012-12-05 03:45:16 【问题描述】:我在 Xcode 中有一个 UIToolbar,我使用 2 个 BarButtonItems 动态创建它,当我第一次进入页面时,它们的行为与预期完全一样,但如果我备份并返回,UIToolbar 会占用整个框架区域。
在我点击编辑按钮之前,该行为应该是没有 UIToolbar 的,此时它显示在底部。如果我点击取消按钮,UIToolbar 就会消失。这很完美。有一次,我点击后退按钮,然后单击按钮再次将我发送到此视图,UIToolbar 已接管。我仍然可以点击编辑按钮,UIToolbar 变成了底部的小按钮。如果我点击取消,它会一起消失。然后我可以单击编辑,它仍然是预期的视图。唯一的问题是当我第二次、第三次等第一次加载视图时。
我几乎觉得它从未正确发布过。我确实在 viewWillDisappear 方法上调用了 removeFromSuperview。
【问题讨论】:
【参考方案1】:您只需在类级别(在接口中)为您声明对象到@synthesize
他们,在viewDidLoad
中执行操作,然后使用按钮为UIView
设置动画
【讨论】:
【参考方案2】:这里在viewWillAppear:
方法中设置UIToolBar
的框架,如果您在viewWillDisappear:
中删除UIToolBar
,还可以将其添加为self.view
的子视图
-(void)viewWillAppear:(BOOL)animated
[yourToolBar setFrame:CGRectMake(0, 0, 320, 44)];// set frame which you want
【讨论】:
你说在哪里添加子视图?现在我在 viewwilldisappear- (void)viewWillDisappear:(BOOL)animated [super viewWillDisappear:animated]; [actionToolbar removeFromSuperview]; 对不起,这是我的 viewdidappear - (void)viewDidAppear:(BOOL)animated [self.view.superview addSubview:actionToolbar]; @user1877746 你试试viewWillAppear??到底是什么问题,你想要什么伙计..?以上是关于回到我的视图控制器时,为啥我的 iPhone UIToolBar 这么大?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 TabBar 按钮在我第一次加载视图控制器时被禁用?
为啥我的方法在 iPhone/iPod 上被调用了两次,但在 iPad 上却没有?