在ios7上,许多应用程序(Apple Messages,Facebook Messenger,Calendar)都会在UINavigationBar下显示视图,通常会显示标准动画.由于看起来非常标准并且使用UIToolBar看起来很多,我一直在寻找实现它的标准方法但却找不到任何东西.
解决方法
你应该遵循这个简单的方法.
>像这样添加UIToolBar.
UIBarButtonItem *flexiableItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:nil]; UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:nil]; NSArray *items = [NSArray arrayWithObjects:item1,flexiableItem,item2,nil]; self.toolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0,-44,self.view.frame.size.width,44)]; [self.toolBar setItems:items]; self.toolBar.tintColor = [UIColor whiteColor]; self.toolBar.barTintColor = [UIColor colorWithRed:0.6 green:0.1 blue:0.2 alpha:1]; [self.contentView addSubview:self.toolBar];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Menu" style:UIBarButtonItemStyleBordered target:self action:@selector(toggleMenu:)];
>现在实现toggleMenu功能.添加BOOL变量以跟踪移动.
if(!moved) { [UIView animateWithDuration:0.5 animations:^{ self.toolBar.alpha = 1; self.toolBar.frame = CGRectMake(0,44); }]; moved = YES; }else { [UIView animateWithDuration:0.5 animations:^{ self.toolBar.alpha = 1; self.toolBar.frame = CGRectMake(0,44); }]; moved = NO; }
>这是附加的video.
希望有所帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。