我是 iPhone开发的新手。我只是创建应用程序,如聊天application.simple我使用JSON解析方法,我通过PHP从服务器调用数据并发回给他们。 所以我有一个UIButton我想在这个 UIButton上设置徽章我已经通过一些编码设置徽章:
viewdid加载的时间:* .m 文件 *
self.badgeFive = [[MKNumberBadgeView alloc] initWithFrame:CGRectMake(self.next7.frame.size.width - 22,-20,44,40)];
[self.next7 addSubview:self.badgeFive];
.h 文件中的:
@property (retain) MKNumberBadgeView* badgeFive;
@property (unsafe_unretained, nonatomic) IBOutlet UIButton *next7;
在上面的代码中,next7是click event.i可以在此按钮上成功添加 徽章但是faild移动到下一页。我无法点击此按钮现在。 在 next7 事件中,我将此页面称为:
-(IBAction)next7{
msgfromuserViewController *tenth = [[msgfromuserViewController alloc] initWithNibName:nil bundle:nil];
[self presentViewController:tenth animated:YES completion:NULL];
}
所以我需要显示徽章,并且点击此按钮并想要转到下一页。 同时徽章将显示未读消息的编号。
是否有此类应用程序的示例代码或源代码可以管理点击事件,并显示未读消息的徽章。 我很想知道但我不明白我该如何发展?
答案 0 :(得分:9)
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setBackgroundImage:[UIImage imageNamed:@"cart_icon.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(Cart_btn:) forControlEvents:UIControlEventTouchUpInside];
[button.imageView setContentMode:UIViewContentModeScaleToFill];
[button setFrame:CGRectMake(0, 0, 36, 33)];
[self.view addSubview:button];
UILabel *lbl_card_count = [[UILabel alloc]initWithFrame:CGRectMake(23,0, 13, 13)];
lbl_card_count.textColor = [UIColor whiteColor];
lbl_card_count.textAlignment = NSTextAlignmentCenter;
lbl_card_count.text = [NSString stringWithFormat:@"%d",Temp_card_count];
lbl_card_count.layer.borderWidth = 1;
lbl_card_count.layer.cornerRadius = 8;
lbl_card_count.layer.masksToBounds = YES;
lbl_card_count.layer.borderColor =[[UIColor clearColor] CGColor];
lbl_card_count.layer.shadowColor = [[UIColor clearColor] CGColor];
lbl_card_count.layer.shadowOffset = CGSizeMake(0.0, 0.0);
lbl_card_count.layer.shadowOpacity = 0.0;
lbl_card_count.backgroundColor = [UIColor colorWithRed:247.0/255.0 green:45.0/255.0 blue:143.0/255.0 alpha:1.0];
lbl_card_count.font = [UIFont fontWithName:@"ArialMT" size:11];
[self.view addSubview:lbl_card_count];
[lbl_card_count release];