Вопрос:

Как я могу показать количество уведомлений на панели UINavigation в Задаче C

ios objective-c font-awesome

446 просмотра

3 ответа

361 Репутация автора

Я новичок в iOS и столкнулся с проблемой отображения количества уведомлений на кнопке fount Awesome. Мой код такой

// Кнопка со значком уведомления ...

UILabel *lablnotification =[[UILabel alloc] init];
//    lab.font = [UIFont fontWithName:@"FontAwesome" size:8];
//  lab.textColor =  [UIColor whiteColor];
lablnotification.text =  [NSString awesomeIcon:FaBell];

UIImage *listImage4 = [UIImage imageNamed:@"notification.png"];
UIButton *listButton4 = [UIButton buttonWithType:UIButtonTypeCustom];
listButton4.backgroundColor=[UIColor whiteColor];
[[listButton4 layer] setBorderWidth:0.5f];
listButton4.layer.borderColor =[[UIColor blackColor] CGColor];
listButton4.layer.cornerRadius = managementbtn.bounds.size.width / 3.4;// this value vary as per your desire
listButton4.clipsToBounds = YES;

UIFont *fontnotification = [UIFont fontWithName:@"FontAwesome" size:15.0];
UIColor *colornotification = [UIColor blueColor];

NSDictionary *attrsDictionarynotification = [NSDictionary dictionaryWithObjectsAndKeys:fontnotification,NSFontAttributeName,colornotification,NSForegroundColorAttributeName, nil];
//  [NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName,color,NSForegroundColorAttributeName, nil];

NSAttributedString *attributedStrnotification = [[NSAttributedString alloc] initWithString:lablnotification.text attributes:attrsDictionarynotification];



// get the image size and apply it to the button frame
CGRect listButton4Frame = listButton4.frame;
listButton4Frame.size = listImage4.size;
listButton4.frame = listButton4Frame;

[listButton4 setAttributedTitle:attributedStrnotification forState:UIControlStateNormal];
[listButton4 addTarget:self
                action:@selector(ActualNotificationClick:)
      forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *jobsButton4 =
[[UIBarButtonItem alloc] initWithCustomView:listButton4];

метод

-(void)ActualNotificationClick:(id)sender
{
   if([CheckStringVersion isEqualToString:@"1"])
   {
       NotificationScreen *screen =[[NotificationScreen alloc] initWithNibName:@"NotificationScreen" bundle:nil];
       [self.navigationController pushViewController:screen animated:YES];
   }
   else
   {
       CheckStringPopup=@"3";
       UIAlertView *alertPOP =[[UIAlertView alloc] initWithTitle:@"No Update Require" message:@"App is up to date." delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
       [alertPOP show];
   }
}

Мне нужно показать уведомление, как это

введите описание изображения здесь

Как я могу это показать? Заранее спасибо!

Автор: Muju Источник Размещён: 06.03.2017 10:34

Ответы (3)


1 плюс

2216 Репутация автора

Создайте Bagde для отображения с регулируемыми x и y:

-(UILabel*)DisplayBagde:(CGFloat)x :(CGFloat)y : (NSString*)val{
    UILabel *lbl = [[UILabel alloc] init];
    [lbl setFont:[UIFont systemFontOfSize:10]];
    lbl = [[UILabel alloc]initWithFrame:CGRectMake(x, y,30,30)];//strikeWidth+10,strikeWidth+10)];
    lbl.textColor = [UIColor whiteColor];
    lbl.layer.cornerRadius = 15.0f;
    lbl.textAlignment = NSTextAlignmentCenter;
    lbl.backgroundColor = [UIColor redColor];
    lbl.clipsToBounds = YES;
    lbl.text = val;
    return lbl;
}

Добавить значок на навигационную панель (установите x и y):

UILabel *bagdeLabel = [self DisplayBagde:30 :10 :@"3"];  //Badge count = 3
[self.navigationController.navigationBar addSubview:bagdeLabel];
Автор: Sid Mhatre Размещён: 06.03.2017 11:35

0 плюса

52 Репутация автора

попробуйте это: https://www.cocoacontrols.com/controls/mibadgebutton

Затем добавьте в свой viewcontroller

MIBadgeButton *btn1 = [MIBadgeButton buttonWithType:UIButtonTypeCustom];
[btn1 setFrame:CGRectMake(100, 150, 64, 30)];
[btn1 setTitle:@"test" forState:UIControlStateNormal];
[btn1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn1 setBadgeString:@"244"];
[self.view addSubview:btn1];

Автор: krishna Размещён: 06.03.2017 11:49

0 плюса

1 Репутация автора

Это довольно просто, просто загрузите и добавьте «BBBadgeBarButtonItem.h» и «BBBadgeBarButtonItem.m» в ваш проект xcode. Не забудьте импортировать заголовочный файл туда, где он вам нужен:

https://github.com/TanguyAladenise/BBBadgeBarButtonItem

Автор: mayur amipara Размещён: 06.03.2017 03:52
Вопросы из категории :
32x32