我试图将UIToolBar添加到UIWebView中,但每当我在viewDidLoad中插入此代码时UIToolBar都不会显示,但是当在viewWillAppear中完成时,它可以正常工作。有人可以向我解释一下。
-(void)viewDidLoad
{
[super viewDidLoad];
self.forwardButton = [[UIBarButtonItem alloc]initWithTitle:@"Forward" style:UIBarButtonItemStylePlain target:self action:@selector(forward)];
self.backButton = [[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(back)];
NSArray *buttonsArray = @[self.backButton,self.forwardButton];
CGRect toolBarFrame = CGRectMake(0, self.view.frame.size.height - 44, self.view.frame.size.width, 44);
self.toolbar = [[UIToolbar alloc]initWithFrame:toolBarFrame];
[self.toolbar setItems:buttonsArray animated:YES];
[self.toolbar sizeToFit];
[self.view addSubview:self.toolbar];
}
答案 0 :(得分:5)
在viewDidLoad
中添加子视图,但在frame
中设置其viewWillAppear
。正好在UIKit调用self.view.frame
之前设置viewWillAppear
。您在viewDidLoad
中获得的值是在nib中设置的值,通常与实际的frame
不同。
不要忘记设置autoresizingMask
或使用自动布局。