Swift中给UIView添加Badge

extension UIView{
      //任意UIView添加badge
    func showBadgeValue(#strBadgeValue: String) -> Void{

        let tabBar = UITabBar(frame: CGRectMake(0, 0, 320, 50))
        let item = UITabBarItem(title: "", image: nil, tag: 0)
        item.badgeValue = strBadgeValue
        let array = [item]

        tabBar.items = array
        for viewTab in tabBar.subviews{
            for subview in viewTab.subviews{
                let strClassName = String(UTF8String: object_getClassName(subview))
                if strClassName == "UITabBarButtonBadge" || strClassName == "_UIBadgeView"{
                    let theSubView = subview as! UIView
                    theSubView.removeFromSuperview()
                    self.addSubview(theSubView)
                    theSubView.frame = CGRectMake(self.frame.size.width - theSubView.frame.size.width, 0, theSubView.frame.size.width, theSubView.frame.size.height)

                }

            }
        }
    }

    //删除UIView的badge
    func removeBadge() -> Void{
        for subview in self.subviews{
            let strClassName = String(UTF8String: object_getClassName(subview))
            if strClassName == "UITabBarButtonBadge" || strClassName == "_UIBadgeView"{
                let theSubView = subview as! UIView
                theSubView.removeFromSuperview()
            }
        }
    }
}
时间: 2024-08-25 04:50:46

Swift中给UIView添加Badge的相关文章

swift为UIView添加extension扩展frame

添加swift file:UIView+Extension import UIKit extension UIView { // x var x : CGFloat { get { return frame.origin.x } set(newVal) { var tmpFrame : CGRect = frame tmpFrame.origin.x = newVal frame = tmpFrame } } // y var y : CGFloat { get { return frame.o

Swift中UIView类方法(animateWithDuration)的使用

需求:利用Swift语言实现OC语言中UIView类方法 [UIView animateWithDuration:0.5 animations:^{ bgView.alpha= 1; }]; 在Swift语言对应的方法为: class func animateWithDuration(duration: NSTimeInterval, animations: (() -> Void)!)  需要传入的参数有两个:1.duration:动画持续的时间(秒计)2.传入一个方法名(闭包,类似于函数指针

addTarget事件添加方法在OC和Swift中的区别

废话少说,直接上图 1.在swift中是这样子的: 2.在Objective-C中是这样子的: 以上列举的均是参数的Selector,不带参数的Selcetor去掉“:”即可.

【Swift 2.1】为 UIView 添加点击事件和点击效果

前言 UIView 不像 UIButton 加了点击事件就会有点击效果,体验要差不少,这里分别通过自定义和扩展来实现类似 UIButton 的效果. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.为 UIView 添加点击事件 extension UIView { func addOnClickListener(target: AnyObject, action: Sel

Swift中的UIKit重力学

前言: 重力学这个名词不论在哪个行业领域听起来似乎都非常高大上. 那么在Swift中的重力学是什么呢?那就是将我们移动端屏幕上毫无生命力的东西也置于万有引力中.使它们能够展现出好像真的因为引力而向下坠落以及碰到物体后自然的弹开的效果. 要想做到这一点,我们得须要两个利器:UIKit Dynamics和Motion Effects. 一.简介 1.UIKit Dynamics是从iOS 7開始引入的一种新技术,隶属于UIKit框架的物理引擎.能模拟和仿真现实生活中的物理现象它能够让我们在程序中对界

iOS开发——开发总结Swift篇&Swift中的条件编译

Swift中的条件编译 在Objective-C中,我们经常使用预处理指令来帮助我们根据不同的平台执行不同的代码,以让我们的代码支持不同的平台,如: 1 #if TARGET_OS_IPHONE 2 3 #define MAS_VIEW UIView 4 5 #elif TARGET_OS_MAC 6 7 #define MAS_VIEW NSView 8 9 #endif 在swift中,由于对C语言支持没有Objective-C来得那么友好(暂时不知swift 2到C的支持如何),所以我们无

如何在Swift中创建自定义控件

更新通知:这篇引导教程由Mikael Konutgan使用iOS 8和Swift语言重新制作,在Xcode6和7上测试通过.原始教程是由Colin Eberhardt团队制作的. 用户界面控件是许多应用的重要组成部分.使用这些控件,可以让用户查看应用的内容或与他们的应用进行交互.苹果提供了一个控件集,像UITextField, UIButton 和 UISwitch.灵活使用这些工具箱中已经存在的控件,可以让你创建各种各样的用户界面. 但是,有的时候你可能需要做一些与众不同的事情:库中的控件已经

在 Swift 中实现单例方法

我们通常在进行开发的时候,会用到一个叫做 单例模式 的东西.相信大家也都对这种模式非常熟悉了.而且单例的使用在平时的开发中也非常频繁. 比如我们常用到的 NSUserDefaults.standardUserDefaults(). 在 Swift 中我们如何实现单例模式呢?如果你曾经对 Objective-C 比较熟悉的话,你可能首先会想到这样写: class DBManager { class var instance: DBManager? class func sharedInstance

在Swift中应用Grand Central Dispatch(上)

本文翻译自raywenderlich,原文:Grand Central Dispatch Tutorial for Swift: Part 1/2尽管Grand Central Dispatch(GCD)已经存在一段时间了,但并非每个人都知道怎么使用它.这是情有可原的,因为并发很棘手,而且GCD本身基于C的API在Swift世界中很刺眼. 在这两篇教程中,你会学到GCD的来龙去脉.第一部分解释了GCD可以做什么和几个基本功能.第二部分,你会学到一些GCD所提供的进阶功能. 起步 libdispa