#import "QHHomeViewController.h"
#import "QHDropdownMenu.h"
#import "QHTitleMenuTableViewController.h"
@interface QHHomeViewController ()<QHDropdownMenuDelegate>
@end
@implementation QHHomeViewController
- (void)viewDidLoad {
[super viewDidLoad];
//这时self.view.window 值为空
NSLog(@"%@",self.view.window);
/*设置导航栏上面的内容*/
//注意这一调用的是控制器的方法 Tool 里面没有方法 知识调用action 的方法
self.navigationItem.leftBarButtonItem =[UIBarButtonItem itemWithTarget:self Action:@selector(friendSearch) image:@"navigationbar_friendsearch" highImage:@"navigationbar_friendsearch_highlighted"];
self.navigationItem.rightBarButtonItem = [UIBarButtonItem itemWithTarget:self Action:@selector(pop) image:@"navigationbar_pop" highImage:@"navigationbar_pop_highlighted"];
QHLog(@"QHHomeViewController");
/*中间的标题按钮*/
UIButton *titleButton = [[UIButton alloc]init];
titleButton.width = 150;
titleButton.height = 30;
//titleButton.backgroundColor = QHRandomColor;
//设置图片和文字
[titleButton setTitle:@"首页" forState:UIControlStateNormal];
[titleButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal ];
titleButton.titleLabel.font = [UIFont boldSystemFontOfSize:17];
[titleButton setImage:[UIImage imageNamed:@"navigationbar_arrow_down"] forState:UIControlStateNormal];
[titleButton setImage:[UIImage imageNamed:@"navigationbar_arrow_up"] forState:UIControlStateSelected];
// titleButton.imageView.backgroundColor = [UIColor redColor];
// titleButton.titleLabel.backgroundColor = [UIColor blueColor];
titleButton.imageEdgeInsets = UIEdgeInsetsMake(0, 70, 0, 0);
titleButton.titleEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 40);
self.navigationItem.titleView = titleButton;
//如果图片的某个方向上不规则 比如突起 那么这个方向就不能拉伸
//监听标题的点击
[titleButton addTarget:self action:@selector(titleClick:) forControlEvents:UIControlEventTouchUpInside];
/**
* 解决方案 转换坐标系
*
*
*/
}
/**
* 标题点击
*/
-(void)titleClick:(UIButton *)titleButton
{
//1.创建下拉菜单
QHDropdownMenu *menu = [QHDropdownMenu menu];
menu.delegate = self;
//2.设置内容
//menu.content = [UIButton buttonWithType:UIButtonTypeContactAdd];
//menu.content = [[UITableView alloc]initWithFrame:CGRectMake(0,0 , 100, 100) style:UITableViewStylePlain];
QHTitleMenuTableViewController *vc = [[QHTitleMenuTableViewController alloc]init];
vc.view.height = 44*3;
vc.view.width = 150;
#warning mark 在里面保存了全局变量 所以不会被销毁
menu.contentController = vc;
//3.显示
[menu showFrom:titleButton];
//4.让箭头向上
// [menu dismiss];
}
#pragma mark - 代理方法QHDropdownMenuDelegate
/**
* 下拉菜单被销毁了 向下
*
* @param menu <#menu description#>
*/
- (void)dropdownMenueDidDismiss:(QHDropdownMenu *)menu
{
UIButton *titleButton = (UIButton *)self.navigationItem.titleView;
titleButton.selected = NO;
// [titleButton setImage:[UIImage imageNamed:@"navigationbar_arrow_down"] forState:UIControlStateNormal];
}
/**
* 下拉菜单显示了 向上
*
* @param menu <#menu description#>
*/
- (void)dropdownMenueDidShow:(QHDropdownMenu *)menu
{
UIButton *titleButton = (UIButton *)self.navigationItem.titleView;
titleButton.selected = YES;
//[titleButton setImage:[UIImage imageNamed:@"navigationbar_arrow_up"] forState:UIControlStateNormal];
}
-(void)friendSearch
{
NSLog(@"friendsearch");
}
-(void)pop
{
NSLog(@"pop");
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
#warning Potentially incomplete method implementation.
// Return the number of sections.
return 0;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
#warning Incomplete method implementation.
// Return the number of rows in the section.
return 0;
}
/*
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:<#@"reuseIdentifier"#> forIndexPath:indexPath];
// Configure the cell...
return cell;
}
*/
/*
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the specified item to be editable.
return YES;
}
*/
/*
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
} else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}
*/
/*
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
}
*/
/*
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the item to be re-orderable.
return YES;
}
*/
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
ios开发-新浪微博12-(标题按钮的箭头上下翻转)
最新推荐文章于 2022-11-15 11:38:36 发布