//
// ViewController.m
// Badge
//
// Created by Bo Xiu on 12-10-23.
// Copyright (c) 2012年 Bo Xiu. All rights reserved.
//
#import "ViewController.h"
#import "JSBadgeView.h"
#import <QuartzCore/QuartzCore.h>
#define kViewBackgroundColor [UIColor colorWithRed:0.357 green:0.757 blue:0.357 alpha:1]
#define kSquareSideLength 64.0f
#define kSquareCornerRadius 10.0f
#define kMarginBetweenSquares 10.0f
#define kSquareColor [UIColor colorWithRed:0.004 green:0.349 blue:0.616 alpha:1]
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
-(void)viewDidAppear:(BOOL)animated{
[self showBadgeValue:@"10"];
}
- (void)showBadgeValue:(NSString *)strBadgeValue
{
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:scrollView];
UIView *rectangle = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)];
rectangle.backgroundColor = kSquareColor;
rectangle.layer.cornerRadius = kSquareCornerRadius;
rectangle.layer.shadowColor = [UIColor blackColor].CGColor;
rectangle.layer.shadowOffset = CGSizeMake(0.0f, 3.0f);
rectangle.layer.shadowOpacity = 0.4;
rectangle.layer.shadowRadius = 1.0;
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 300,100, 100)];
[imageView setImage:[UIImage imageNamed:@"background.png"]];
JSBadgeView *badgeView = [[JSBadgeView alloc] initWithParentView:rectangle alignment:JSBadgeViewAlignmentTopRight];
badgeView.badgeText = [NSString stringWithFormat:@"%d",10];
JSBadgeView *badgeView1 = [[JSBadgeView alloc] initWithParentView:imageView alignment:JSBadgeViewAlignmentCenterLeft];
badgeView1.badgeText = [NSString stringWithFormat:@"%d",10];
[scrollView addSubview:imageView];
[scrollView addSubview:rectangle];
[scrollView sendSubviewToBack:rectangle];
}
- (void)removeBadgeValue
{
for (UIView *subview in self.view.subviews) {
NSString *strClassName = [NSString stringWithUTF8String:object_getClassName(subview)];
if ([strClassName isEqualToString:@"UITabBarButtonBadge"] ||
[strClassName isEqualToString:@"_UIBadgeView"]) {
[subview removeFromSuperview];
break;
}
}
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} else {
return YES;
}
}
@end
分享到:
相关推荐
在iOS应用开发中,"自定义badgevalue"通常是指对应用程序图标右上角显示的小红点或者数字进行个性化定制的过程。这个小红点或者数字,我们称之为“徽标值”或“badge value”,用于提示用户有未读消息、更新或者其他...
⊙ 支持自定义badgeValue动画 ⊙ 支持自定义badgeValue样式 ⊙ 完美支持横竖屏 ⊙ 支持CocoaPods 更多说明请移步github github地址: https://github.com/JunAILiang/JMTabBarController 博客地址: ...
⊙ 支持自定义tabBar动画 ⊙ 支持自定义tabBar样式 ⊙ 支持自定义badgeValue动画 ⊙ 支持自定义badgeValue样式 ⊙ 完美支持横竖屏 ⊙ 支持iPhone X ⊙ 支持CocoaPods
在这个类别中,我们可以定义自定义的设置和获取脚标的方法,比如`setBadgeValue:`和`badgeValue`。 ```objc // UITabBarItem+CustomBadge.h #import @interface UITabBarItem (CustomBadge) @property ...
总之,自定义TabBar是提升iOS应用UI品质的关键步骤,通过细心设计和巧妙实现,可以让用户在使用应用时更加舒适和愉悦。无论你是初学者还是经验丰富的开发者,都值得投入时间去探索和掌握这一技术。
此外,BadgeValue控件可能还提供了自定义样式的功能,如改变背景颜色、文字颜色、字体大小等,以便适应不同设计风格的需求。在Demo中,你可能会发现相关的API或者属性来调整这些样式。 为了更好地集成这个控件到你...
9. **适配iOS系统版本**:为了兼容不同版本的iOS系统,开发者需要确保自定义TabBar的代码能在多个iOS版本上正常工作,避免使用只在新版本中引入的API。 10. **性能优化**:在处理大量数据或复杂动画时,需要注意...
- 如果需要在TabBar上显示动态内容,如通知数量,可以通过添加自定义视图或者修改`UITabBarItem`的`badgeValue`来实现。 4. **自定义过渡动画**: - 想要改变页面切换时的动画效果,可以重写`- (void)...
在Swift编程中,自定义TabBar是iOS应用开发中常见的需求,这往往涉及到对系统默认TabBarController的扩展和个性化设计。本教程将详细介绍如何通过一行代码实现一个自定义的TabBar,支持小红点和数字角标,并允许...
在iOS应用开发中,TabBar是用户界面的重要组成部分,它通常位于屏幕底部,用于展示多个主要功能间的切换。TabBar中的每个图标(item)都可以显示一个Badge,用于提示用户有未读消息或新内容。本资源"ios-tabbar-...
此外,自定义`tabBarItem`的`badgeValue`可以添加通知标记。 3. **使用Swift或Objective-C** - 这个源码可能使用了Swift或Objective-C作为编程语言。Swift是苹果推荐的新一代编程语言,而Objective-C则是iOS开发的...
总之,`UITabBarController`的自定义在过去和现在都有多种方法,而随着iOS的迭代,开发者拥有了更多高级的工具和API来实现更加精致和个性化的界面设计。不过,为了保持应用的兼容性和用户体验,建议始终使用最新的...
本资源“多种风格消息数量提示样式_IOS应用源码.rar”提供了多种不同的设计实现,帮助开发者理解和创建自定义的消息指示器。这些样式可能包括数字、小红点、文字提示等,以适应不同场景下的用户体验需求。 首先,...
在iOS中,我们可以通过设置`UITabBarItem`的`badgeValue`属性来添加角标。如果需要显示数字,直接赋值即可;若要显示红点而不显示数字,则设置为空字符串`""`。注意,角标的大小和样式会自动适应,但也可以通过...
本文将深入探讨如何在iOS应用中自定义`UITabBar`。 首先,我们需要了解`UITabBar`的基本结构。`UITabBar`包含一系列`UITabBarItem`,每个`TabBarItem`都有自己的图标和标签。默认情况下,系统会根据当前选中的状态...
同时,我们需要监听`UITabBarItem` 的`badgeValue` 变化,以便在`badgeValue` 更新时更新自定义`badge`的显示: ```swift extension YourViewController: UITabBarControllerDelegate { func tabBarController(_ ...
本源码"IOS应用源码——tab标签效果.rar"提供的就是一个实现Tab标签效果的应用实例,适合iOS开发者学习和参考,尤其是对自定义TabBar效果感兴趣的开发者。 首先,我们要了解Tab Bar Controller的基本结构。在iOS中...
- 在iOS开发中,自定义模块意味着开发者可以创建自己的视图控制器,根据需求定制特定的功能或界面。封装框架提供接口,让开发者可以轻松地将这些自定义视图控制器集成到菜单栏中。 - 开发者可能通过继承自定义基类...
2. **自定义设置**:开发者可以设置徽标的值,例如直接将`badgeValue`属性设置为空字符串`@""`,就可以显示一个空的徽标(通常是小红点),或者设置为一个整数值来显示数字。 3. **数组支持**:根据描述,`...
2. `badgeColor`:角标的颜色,可以根据需求自定义。 3. `badgeSize`:角标的大小,可以调整以适应不同场景。 4. `- (void)showBadgeWithValue:(NSString *)value`:显示指定值的角标。 5. `- (void)hideBadge`:...