Skip to content

Commit ad40a6a

Browse files
committed
添加自定义导航按钮
1 parent e8797c1 commit ad40a6a

1 file changed

Lines changed: 32 additions & 3 deletions

File tree

Coding_iOS/Controllers/RootControllers/MyTask_RootViewController.m

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ - (void)viewDidLoad
8181
});
8282

8383
UIBarButtonItem *addBar = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"addBtn_Nav"] style:UIBarButtonItemStylePlain target:self action:@selector(addItemClicked:)];
84-
UIBarButtonItem *screenBar = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"a1-筛选"] style:UIBarButtonItemStylePlain target:self action:@selector(screenItemClicked:)];
84+
// UIBarButtonItem *screenBar = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"a1-筛选"] style:UIBarButtonItemStylePlain target:self action:@selector(screenItemClicked:)];
85+
UIBarButtonItem *screenBar = [self HDCustomNavButtonWithTitle:nil imageName:@"a1-筛选" target:self action:@selector(screenItemClicked:)];
8586
self.navigationItem.rightBarButtonItems = @[addBar, screenBar];
8687

8788

@@ -98,12 +99,15 @@ - (void)viewDidLoad
9899

99100
_screenView = [ScreenView creat];
100101
_screenView.selectBlock = ^(NSString *keyword, NSString *status, NSString *label) {
101-
screenBar.image = [UIImage imageNamed:@"a1-已筛"];
102+
// screenBar.image = [UIImage imageNamed:@"a1-已筛"];
103+
[((UIButton *)screenBar.customView) setImage:[UIImage imageNamed:@"a1-已筛"] forState:UIControlStateNormal];
102104
weakSelf.keyword = keyword;
103105
weakSelf.status = status;
104106
weakSelf.label = label;
105107
if (keyword == nil && status == nil && label == nil) {
106-
screenBar.image = [UIImage imageNamed:@"a1-筛选"];
108+
// screenBar.image = [UIImage imageNamed:@"a1-筛选"];
109+
[((UIButton *)screenBar.customView) setImage:[UIImage imageNamed:@"a1-筛选"] forState:UIControlStateNormal];
110+
107111
}
108112
[weakSelf resetCurView];
109113
};
@@ -285,6 +289,31 @@ -(void)fliterClicked:(id)sender{
285289

286290
}
287291

292+
- (UIBarButtonItem *)HDCustomNavButtonWithTitle:(NSString *)title imageName:(NSString *)imageName target:(id)targe action:(SEL)action {
293+
UIButton *itemButtom = [UIButton buttonWithType:UIButtonTypeCustom];
294+
UIImage *image = [UIImage imageNamed:imageName];
295+
[itemButtom setImage:image forState:UIControlStateNormal];
296+
itemButtom.titleLabel.font = [UIFont systemFontOfSize: 16];
297+
[itemButtom setTitle:title forState:UIControlStateNormal];
298+
[itemButtom setTitleEdgeInsets:UIEdgeInsetsMake(0, 5, 0, -5)];
299+
UIColor *color = [UINavigationBar appearance].titleTextAttributes[NSForegroundColorAttributeName];
300+
if (color == nil) {
301+
color = [UIColor blackColor];
302+
}
303+
[itemButtom setTitleColor:color forState:UIControlStateNormal];
304+
itemButtom.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
305+
[itemButtom addTarget:targe action:action
306+
forControlEvents:UIControlEventTouchUpInside];
307+
if (title == nil && imageName != nil) {
308+
[itemButtom setFrame:CGRectMake(0, 0, image.size.width, image.size.height)];
309+
} else {
310+
[itemButtom setFrame:CGRectMake(0, 0, 80, 40)];
311+
}
312+
313+
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc]
314+
initWithCustomView:itemButtom];
315+
return barButtonItem;
316+
}
288317

289318

290319
@end

0 commit comments

Comments
 (0)