我有一个使用NavBar和ToolBar的简单项目。我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view setBackgroundColor:[UIColor whiteColor]];
[toolBar setBarStyle:UIBarStyleBlack];
[toolBar setTranslucent:YES];
addPhotoItem = [[UIBarButtonItem alloc] initWithTitle:@"Add photo" style:UIBarButtonItemStyleBordered target:self action:@selector(showActionSheet)];
NSArray *itemsArray = @[ addPhotoItem ];
[toolBar setItems:itemsArray];
[toolBar setFrame:CGRectMake(0.0f, self.view.frame.size.height-44.0f, self.view.frame.size.width, 44.0f)];
[self.view addSubview:toolBar];
[navBar setFrame:CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 44.0f)];
[navBar setBarStyle:UIBarStyleBlack];
[navBar setTranslucent:YES];
[self.view addSubview:navBar];
}
在我的工具栏中,我有一个按钮可以打开带有2个选项的ActionSheet:从相机和库中获取图像。我的代码:
- (void)getMediaFromSource:(UIImagePickerControllerSourceType)sourceType {
self.imagePicker.delegate = self;
self.imagePicker.sourceType = sourceType;
[self presentModalViewController:self.imagePicker animated:YES];
}
但在解雇模态控制器后,我的父视图上升到44pt(大约)。我该如何解决这个问题?
答案 0 :(得分:0)
你不需要设置工具栏的框架,只需在viewDidLoad
中添加它[self.navigationController setToolbarHidden:NO animated:NO];
它将调出toobar,不要手动添加它作为subView,你可以添加UIBarButtonItem为
self.navigationController.toolbarItems = [NSArray arrayWithObjects:addPhotoItem, nil];
你完成了。
您可以通过在YES
setToolbarHidden
来再次隐藏工具栏
我希望它有所帮助。快乐的编码:)