第三方框架的记录

  1. JVFloatLabeledTextField 是 UITextField 的子类,实现了浮动效果的文本标签。

  2.IGLDropDownMenu是一个iOS下拉菜单。可以实现多种菜单动画效果。旋转、难叠、滑动等。
 3.JVFloatTextField  

HZPhotoBrower主要是图片放大的时候用到的 在点击图片的时候可以放大图片,可以选择放大图片时只有一张,或者轮播,有好几张 随后设置当前是在第几张

还要设置代理,和代理实现的方法

[plain]  view plain  copy
 print ?
  1. //实现图片点击时的放大  
  2.     func photoBrowser(sender:UITapGestureRecognizer){  
  3.         let photoBrowser = HZPhotoBrowser()  
  4.         //放大图片的个数  
  5.         photoBrowser.imageCount = 1  
  6.         //当前浏览的是第几张图  
  7.         photoBrowser.currentImageIndex = 0  
  8.         //代理  
  9.         photoBrowser.delegate = self  
  10.         photoBrowser.show()  
  11.     }  
  12.     //实现photoBroswer的回调  
  13.     func photoBrowser(browser: HZPhotoBrowser!, highQualityImageURLForIndex index: Int) -> NSURL! {  
  14.         //最终放大的图片  
  15.         let coverFile = self.bookObject!["cover"] as? AVFile  
  16.         return NSURL(string: coverFile!.url)  
  17.     }  
  18.     func photoBrowser(browser: HZPhotoBrowser!, placeholderImageForIndex index: Int) -> UIImage! {  
  19.         //缓冲图 在加载过程当中  
  20.         return self.bookTitleView?.cover?.image  
  21.     }  

leftSwipeCell主要是在tableView中,当上一个左滑的时候,下一个就要把左滑的显示去掉 将自定义的tableViewCel继承自SWTableViewCell

[plain]  view plain  copy
 print ?
  1. import UIKit  
  2.   
  3. class pushBookTableViewCell:SWTableViewCell{  
  4. //自定义cell  
  5.     var BookName:UILabel?  
  6.     var Editor:UILabel?  
  7.     var more:UILabel?  
  8.     //当前展开的是哪一个cell  
  9.     var swipCellindexPath:NSIndexPath?  
  10.     //封面  
  11.     var cover:UIImageView?  
  12.     override func awakeFromNib() {  
  13.         super.awakeFromNib()  
  14.         // Initialization code  
  15.     }  
  16. //初始化的方法  
  17.     override init(style: UITableViewCellStyle, reuseIdentifier: String?) {  
  18.         super.init(style: style, reuseIdentifier: reuseIdentifier)  
  19.         //移除所有的cell  
  20.         for view in self.contentView.subviews{  
  21.             view.removeFromSuperview()  
  22.             self.BookName = UILabel(frame: CGRectMake(70,8,242,25))  
  23.             self.Editor = UILabel(frame: CGRectMake(78,33,242,25))  
  24.             self.more = UILabel(frame: CGRectMake(78,66,242,25))  
  25.             self.BookName?.font = UIFont(name: MY_FONT, size: 15)  
  26.             self.Editor?.font = UIFont(name: MY_FONT, size: 15)  
  27.             self.more?.font = UIFont(name: MY_FONT, size: 15)  
  28.             self.contentView.addSubview(BookName!)  
  29.             self.contentView.addSubview(Editor!)  
  30.             self.contentView.addSubview(more!)  
  31.             self.cover = UIImageView(frame: CGRectMake(8, 9, 56, 70))  
  32.             self.contentView.addSubview(cover!)  
  33.                    }  
  34.     }  
  35.     
  36.     required init?(coder aDecoder: NSCoder) {  
  37.         fatalError("init(coder:) has not been implemented")  
  38.     }  
  39.     override func setSelected(selected: Bool, animated: Bool) {  
  40.         super.setSelected(selected, animated: animated)  
  41.   
  42.         // Configure the view for the selected state  
  43.     }  
  44.   
  45. }  


[plain]  view plain  copy
 print ?
  1. //记录上次左滑的按钮   
  2.     var swipeCellIndexPath:NSIndexPath?  
继承他的协议

[plain]  view plain  copy
 print ?
  1. SWTableViewCellDelegate  
[plain]  view plain  copy
 print ?
  1. //删除和编辑的按钮只能在一个cell钟出现  
  2.     func swipeableTableViewCell(cell: SWTableViewCell!, scrollingToState state: SWCellState) {  
  3.     let indexPath = self.tableView?.indexPathForCell(cell)  
  4.         //当前有展开的按钮  
  5.         if state == .CellStateRight{  
  6.             if self.swipeCellIndexPath != nil && self.swipeCellIndexPath?.row != indexPath?.row{  
  7.                 //遮盖住  
  8.                 let swipeCell = self.tableView?.cellForRowAtIndexPath(self.swipeCellIndexPath!) as! pushBookTableViewCell  
  9.                 swipeCell.hideUtilityButtonsAnimated(true)  
  10.             }  
  11.                 //将当前的左滑的cell记录下来  
  12.                 self.swipeCellIndexPath = indexPath  
  13.             //没有左滑的cell  
  14.         }else if state == .CellStateCenter{  
  15.             self.swipeCellIndexPath = nil  
  16.         }  
  17.         }  
  18.     //当点击右滑的两个按钮的时候  
  19.       
  20.     func swipeableTableViewCell(cell: SWTableViewCell!, didTriggerRightUtilityButtonWithIndex index: Int) {  
  21.         //将点击的cell隐藏起来  
  22.      cell.hideUtilityButtonsAnimated(true)  
  23.         let indexPath = self.tableView?.indexPathForCell(cell)  
  24.           
  25. //是编辑的这个按钮  
  26.     let object = self.dataArray[(indexPath?.row)!] as? AVObject  
  27.         if index == 0{  
  28.             let vc = pushNewBookController()  
  29.             vc.fixType = "fix"  
  30.             GeneralFactory.addTitleWithTile(vc, title1: "关闭", title2: "发布")  
  31.               
  32.             vc.bookObject = object  
  33.             self.presentViewController(vc, animated: true, completion: nil)  
  34.               
  35.         }else {  
  36.             //删除的操作  
  37.             ProgressHUD.show("")  
  38.             //删除讨论区和点赞区的所有有关这本书的信息  
  39.             let discussQuery = AVQuery(className: "discuss")  
  40.             discussQuery.whereKey("BookObject", equalTo: object)  
  41.             discussQuery.findObjectsInBackgroundWithBlock({ (results, error) -> Void in  
  42.                     for Book in results {  
  43.                         let BookObject = Book as? AVObject  
  44.                         BookObject?.deleteInBackground()  
  45.                     }  
  46.                 })  
  47.                   
  48.                 let loveQuery = AVQuery(className: "Love")  
  49.                 loveQuery.whereKey("BookObject", equalTo: object)  
  50.                 loveQuery.findObjectsInBackgroundWithBlock({ (results, error) -> Void in  
  51.                     for Book in results {  
  52.                         let BookObject = Book as? AVObject  
  53.                         BookObject?.deleteInBackground()  
  54.                     }  
  55.                 })  
  56.                   
  57.                 object?.deleteInBackgroundWithBlock({ (success, error) -> Void in  
  58.                     if success {  
  59.                         ProgressHUD.showSuccess("删除成功")  
  60.                         self.dataArray.removeObjectAtIndex((indexPath?.row)!)  
  61.                         self.tableView?.reloadData()  
  62.                           
  63.                           
  64.                     }else{  
  65.                           
  66.                     }  
  67.                 })  
  68.                   
  69.                   
  70.             }  
  71.     }  
inputView主要是在讨论区中,他可以自带的键盘和文本框,并且有评论这个按钮 可以将文本加入到tableView中

继承他的协议InputViewDelegate 从xib进行加载 在加入inputView的时候 最好下面覆盖一层灰色的背景layView

[plain]  view plain  copy
 print ?
  1. self.input = NSBundle.mainBundle().loadNibNamed("InputView", owner: self, options: nil).last as? InputView  
[plain]  view plain  copy
 print ?
  1. func connect(){  
  2.        //发表评论的时候 从xib加载发表评论的文件框,因此加载方法和纯代码创建的时候不同  
  3.        if self.input == nil{  
  4.            //从xib 加载的 只有一个对象  
  5.            self.input = NSBundle.mainBundle().loadNibNamed("InputView", owner: self, options: nil).last as? InputView  
  6.            self.input?.frame = CGRectMake(0,SCREEN_HEIGHT - 44,SCREEN_WIDTH,44)  
  7.            //所有的动作都在delegate中  
  8.            self.input?.delegate = self  
  9.            self.view.addSubview(self.input!)  
  10.            //当发表联系时,因马上出现键盘  
  11.            self.input?.inputTextView?.becomeFirstResponder()  
  12.        }  
  13.        if self.layView == nil{  
  14.            self.layView = UIView(frame: self.view.frame)  
  15.            self.layView?.backgroundColor = UIColor.grayColor()  
  16.            self.layView?.alpha = 0  
  17.            let tap = UITapGestureRecognizer(target: self, action: "tapInputView")  
  18.             self.layView?.addGestureRecognizer(tap)  
  19.            //将某个界面插入到另外一个界面下  
  20.           self.view.insertSubview(self.layView!, belowSubview: self.input!)  
  21.        }  
  22.        self.layView?.hidden = false  
  23.    }  
为layView添加点击事件 当一点击时 键盘消失

[plain]  view plain  copy
 print ?
  1. func tapInputView() {  
  2.         //当点击这个layView的时候 键盘就消失  
  3.         self.input?.inputTextView?.resignFirstResponder()  
  4.     }  

当加入inputView的时候 都会触发键盘的出现和消失 所以这个第三方库已经为我们添加了这方面的通知

[plain]  view plain  copy
 print ?
  1.   //实现inputView的delegate  
  2.     //当文本高度发生变化时,整个键盘向上移动  
  3.     func textViewHeightDidChange(height: CGFloat) {  
  4.         //输入框的高度加10 并且输入框向上已 改变bottom   
  5.        self.input?.height = height + 10  
  6.        self.input?.bottom = SCREEN_HEIGHT - CGFloat(self.keyBoardHeight)  
  7.     }  
  8.      //在inputView中,点击评论的时候 触发的动作  
  9.     func publishButtonDidClick(button: UIButton!) {  
  10.         //加上进度的提示  
  11.         ProgressHUD.show("")  
  12.         //传到leanCloud的后台  
  13.         let object = AVObject(className: "discuss")  
  14.         object.setObject(self.input?.inputTextView?.text, forKey: "text")  
  15.         object.setObject(AVUser.currentUser(), forKey: "user")  
  16.         object.setObject(self.bookObject, forKey: "BookObject")  
  17.         object.saveInBackgroundWithBlock { (success, error) -> Void in  
  18.             if success{  
  19.                 ProgressHUD.showSuccess("评论成功")  
  20.             }else{  
  21.                 ProgressHUD.showError("评论失败")  
  22.             }  
  23.         }  
  24.     }  
  25.     func keyboardWillHide(inputView: InputView!, keyboardHeight: CGFloat, animationDuration duration: NSTimeInterval, animationCurve: UIViewAnimationCurve) {  
  26.         //当键盘消失时,设置键盘底部的高度为屏幕高度再加上Input的高度  
  27. UIView.animateWithDuration(duration, delay: 0, options: .BeginFromCurrentState, animations: { () -> Void in  
  28.     self.input?.bottom = SCREEN_HEIGHT + (self.input?.height)!  
  29.     self.layView?.alpha = 0.0  
  30.     }, completion: {(finish) -> Void in  
  31.     //当键盘消失时,将layView再次隐藏起来  
  32.         self.layView?.hidden = true  
  33. })  
  34.     }  
  35.     func keyboardWillShow(inputView: InputView!, keyboardHeight: CGFloat, animationDuration duration: NSTimeInterval, animationCurve: UIViewAnimationCurve) {  
  36.         //当键盘出现的时候 设置Input的键盘底部的高度离屏幕最上方的距离即设置bottom属性  
  37.         //用一个动画来进行设置  
  38.         self.keyBoardHeight = Double(keyboardHeight)  
  39.         UIView.animateWithDuration(duration, delay: 0, options: .BeginFromCurrentState, animations: { () -> Void in  
  40.             self.input?.bottom = SCREEN_HEIGHT - keyboardHeight  
  41.             //背景界面的透明度  
  42.             self.layView?.alpha = 0.2  
  43.             }) { (finish) -> Void in  
  44.                   
  45.         }  
  46.     }  

SDWebImage主要是imageView的扩展,他支持可以从url进行缓存,多线程的加载,不会阻塞主线程 不需要继承相关的协议

[plain]  view plain  copy
 print ?
  1. //图片加载 还有默认的图片  
  2.        self.bookTitleView?.cover?.sd_setImageWithURL(NSURL(string: (coverFile?.url)!), placeholderImage: UIImage(named: "Cover"))  

MJRefresh主要是tableView的上拉加载和下拉刷新的时候可以使用

注册初始化

[plain]  view plain  copy
 print ?
  1. //上拉加载 下拉刷新  
  2.       self.tableView?.mj_header = MJRefreshNormalHeader(refreshingTarget: self, refreshingAction: "headerReFresh")  
  3.       self.tableView?.mj_footer = MJRefreshBackFooter(refreshingTarget: self, refreshingAction: "footerReFresh")  
[plain]  view plain  copy
 print ?
  1. func headerReFresh() {  
  2.        //查询条件  
  3.        let quary = AVQuery(className: "discuss")  
  4.        //倒序排序  
  5.        quary.orderByAscending("createdAt")  
  6.        //表头加载的时候只需20个即可 不需要跳过已有的  
  7.        quary.limit = 20  
  8.        quary.skip = 0  
  9.        quary.whereKey("user", equalTo: AVUser.currentUser())  
  10.        quary.whereKey("BookObject", equalTo: self.bookObject)  
  11.        //将指针传回  
  12.       quary.includeKey("user")  
  13.       quary.includeKey("BookObject")  
  14.       quary.findObjectsInBackgroundWithBlock { (results, error) -> Void in  
  15.        self.tableView?.mj_header.endRefreshing()  
  16.        self.dataArray.removeAllObjects()  
  17.        self.dataArray.addObject(results)  
  18.        self.tableView?.reloadData()  
  19.        }  
  20.    }  
  21.    func footerReFresh() {  
  22.        //查询条件  
  23.        let quary = AVQuery(className: "discuss")  
  24.        //倒序排序  
  25.        quary.orderByAscending("createdAt")  
  26.        //表尾加载的时候也需要20个 但需要跳过已经加载的  
  27.        quary.limit = 20  
  28.        quary.skip = self.dataArray.count  
  29.        quary.whereKey("user", equalTo: AVUser.currentUser())  
  30.        quary.whereKey("BookObject", equalTo: self.bookObject)  
  31.        //将指针传回  
  32.        quary.includeKey("user")  
  33.        quary.includeKey("BookObject")  
  34.        quary.findObjectsInBackgroundWithBlock { (results, error) -> Void in  
  35.            self.tableView?.mj_footer.endRefreshing()  
  36.            //self.dataArray.removeAllObjects()  
  37.            self.dataArray.addObject(results)  
  38.            self.tableView?.reloadData()  
  39.          
  40.    }  
progressHUD类似于警告框的作用,感觉以后自己也不用那么麻烦协警告框了

[plain]  view plain  copy
 print ?
  1. ProgressHUD.show("", interaction:false)  
  2.             ProgressHUD.dismiss()  
  3.             self.dismissViewControllerAnimated(true, completion: nil)  
  4.         }else {  
  5.             if error.code == 210{  
  6.                 ProgressHUD.showError("用户名或密码错误")  
  7.             }else if error.code == 211{  
  8.                 ProgressHUD.showError("不存在该用户")  
  9.             }else if error.code == 216{  
  10.                 ProgressHUD.showError("未验证邮箱")  
  11.             }else if error.code == 1{  
  12.                 ProgressHUD.showError("操作频繁")  
  13.             }else {  
  14.                 ProgressHUD.showError("登陆失败")  
XKeyBoard主要是用在一些当问文字处理的时候 要出现键盘 随后键盘的遮挡问题

其实也是一个通知的机制 首先注册通知

[plain]  view plain  copy
 print ?
  1. //注册键盘出现和消失  
  2.        XKeyBoard.registerKeyBoardHide(self)  
  3.        XKeyBoard.registerKeyBoardShow(self)  

随后实现通知当键盘出现的时候和键盘消失的时候

[plain]  view plain  copy
 print ?
  1. //键盘遮挡  
  2.     func keyboardWillHideNotification(notifacition:NSNotification) {  
  3.           
  4.     self.textView?.contentInset = UIEdgeInsetsMake(0, 0,0, 0)  
  5.     }  
  6.     func keyboardWillShowNotification(notifacition:NSNotification) {  
  7.            //返回键盘的大小  
  8.         let rect = XKeyBoard.returnKeyBoardWindow(notifacition)  
  9.         self.textView?.contentInset = UIEdgeInsetsMake(0, 0, rect.size.height, 0)  
  10.     }  
  11.   
  12. }  


[plain]  view plain  copy
 print ?
  1. func keyboardWillHideNotification(notifacition:NSNotification) {  
  2.        UIView.animateWithDuration(0.3) { () -> Void in  
  3.            self.topLayout.constant = 0  
  4.            //加载新的约束  
  5.            self.view.layoutIfNeeded()  
  6.              
  7.        }  
  8.    }  
  9.    func keyboardWillShowNotification(notifacition:NSNotification) {  
  10.        //做一个动画  
  11.        UIView.animateWithDuration(0.3) { () -> Void in  
  12.            self.topLayout.constant = -200  
  13.            //加载新的约束  
  14.            self.view.layoutIfNeeded()  
  15.        }  
  16.          
  17.    }  
IGLDropDownMenu主要是下滑的时候的一个动画的效果 实现协议IGLDropDownMenuDelegate
定义两个menu

[plain]  view plain  copy
 print ?
  1. var dropDownMenu1:IGLDropDownMenu?  
  2.    var dropDownMenu2:IGLDropDownMenu?  
[plain]  view plain  copy
 print ?
  1. </pre><pre code_snippet_id="1589511" snippet_file_name="blog_20160226_18_9938298" name="code" class="plain">  self.initDropArray()  
  2.         self.createDropMenu(self.literatureArray1, array2: self.literatureArray2)  
将数组初始化为这个menu的元素

[plain]  view plain  copy
 print ?
  1.  func createDropMenu(array1:Array<NSDictionary>,array2:Array<NSDictionary>){  
  2.         let dropDownItem1 = NSMutableArray()  
  3.         for var i = 0;i<array1.count;i++ {  
  4.             let dict = array1[i]  
  5.             let item = IGLDropDownItem()  
  6.             item.text = dict["title"] as? String  
  7.             dropDownItem1.addObject(item)  
  8.         }  
  9.           
  10.         let dropDownItem2 = NSMutableArray()  
  11.         for var i = 0;i<array2.count;i++ {  
  12.             let dict = array2[i]  
  13.             let item = IGLDropDownItem()  
  14.             item.text = dict["title"] as? String  
  15.             dropDownItem2.addObject(item)  
  16.         }  
  17.         //重绘的操作  
  18.         self.dropDownMenu1?.removeFromSuperview()  
  19.         self.dropDownMenu1 = IGLDropDownMenu()  
  20.         self.dropDownMenu1?.menuText = "点我,展开详细列表"  
  21.         self.dropDownMenu1?.menuButton.textLabel.adjustsFontSizeToFitWidth = true  
  22.         self.dropDownMenu1?.menuButton.textLabel.textColor = setColor(38, g: 82, b: 67)  
  23.         self.dropDownMenu1?.paddingLeft = 15  
  24.         self.dropDownMenu1?.delegate = self  
  25.         //动画  
  26.         self.dropDownMenu1?.type = .Stack  
  27.         self.dropDownMenu1?.itemAnimationDelay = 0.1  
  28.         self.dropDownMenu1?.gutterY = 5  
  29.         self.dropDownMenu1?.dropDownItems = dropDownItem1 as [AnyObject]  
  30.         self.dropDownMenu1?.frame = CGRectMake(20, 150, SCREEN_WIDTH/2-30, (SCREEN_HEIGHT-200)/7)  
  31.         self.view.addSubview(self.dropDownMenu1!)  
  32.         self.dropDownMenu1?.reloadView()  
  33.         self.dropDownMenu2?.removeFromSuperview()  
  34.         self.dropDownMenu2 = IGLDropDownMenu()  
  35.         self.dropDownMenu2?.menuText = "点我,展开详细列表"  
  36.         self.dropDownMenu2?.menuButton.textLabel.adjustsFontSizeToFitWidth = true  
  37.         self.dropDownMenu2?.menuButton.textLabel.textColor = setColor(38, g: 82, b: 67)  
  38.         self.dropDownMenu2?.paddingLeft = 15  
  39.         self.dropDownMenu2?.delegate = self  
  40.         self.dropDownMenu2?.type = .Stack  
  41.         self.dropDownMenu2?.itemAnimationDelay = 0.1  
  42.         self.dropDownMenu2?.gutterY = 5  
  43.         self.dropDownMenu2?.dropDownItems = dropDownItem2 as [AnyObject]  
  44.         self.dropDownMenu2?.frame = CGRectMake(SCREEN_WIDTH/2+10, 150, SCREEN_WIDTH/2-30, (SCREEN_HEIGHT-200)/7)  
  45.         self.view.addSubview(self.dropDownMenu2!)  
  46.         self.dropDownMenu2?.reloadView()  
  47.           
  48.     }  
  49.     //dropDownMenu的delegate  
  50.     func dropDownMenu(dropDownMenu: IGLDropDownMenu!, selectedItemAtIndex index: Int) {  
  51.         if dropDownMenu == self.dropDownMenu1 {  
  52.             let item = self.dropDownMenu1?.dropDownItems[index] as? IGLDropDownItem  
  53.             self.detailType = (item?.text)!  
  54.             self.dropDownMenu2?.menuButton.text = self.detailType  
  55.         }else{  
  56.             let item = self.dropDownMenu2?.dropDownItems[index] as? IGLDropDownItem  
  57.             self.detailType = (item?.text)!  
  58.             self.dropDownMenu1?.menuButton.text = self.detailType  
  59.         }  
  60.     }  
  61.       
  62.       
  63. }  

AKSegmentedControl主要是选择栏的加强版 个人认为,这里是和上面的dropMenu联合使用的 是做一个动画,所以在有些工程中,可以不用的

[plain]  view plain  copy
 print ?
  1. var segmentController1:AKSegmentedControl?  
  2.    var segmentController2:AKSegmentedControl?  
[plain]  view plain  copy
 print ?
  1. //初始化segment  
  2.    func initSegment() {  
  3.        let buttonArray1 = [  
  4.            ["image":"ledger","title":"文学","font":MY_FONT],  
  5.            ["image":"drama masks","title":"人文社科","font":MY_FONT],["image":"aperture","title":"生活","font":MY_FONT],  
  6.        ]  
  7.        let buttonArray2 = [  
  8.            ["image":"atom","title":"经管","font":MY_FONT],  
  9.            ["image":"alien","title":"科技","font":MY_FONT],  
  10.            ["image":"fire element","title":"网络流行","font":MY_FONT],  
  11.        ]  
  12.        self.segmentController1 = AKSegmentedControl(frame: CGRectMake(10,50,SCREEN_WIDTH - 20,37))  
  13.        self.segmentController1?.initButtonWithTitleandImage(buttonArray1)  
  14.        self.view.addSubview(segmentController1!)  
  15.        self.segmentController2 = AKSegmentedControl(frame: CGRectMake(10,110,SCREEN_WIDTH - 20,37))  
  16.        self.segmentController2?.initButtonWithTitleandImage(buttonArray2)  
  17.        self.view.addSubview(self.segmentController2!)  
  18.        segmentController1?.addTarget(self, action: "segmentControllerAction:", forControlEvents: .ValueChanged)  
  19.        segmentController2?.addTarget(self, action: "segmentControllerAction:", forControlEvents: .ValueChanged)  
  20.          
  21.    }  
  22.    func segmentControllerAction(segment:AKSegmentedControl){  
  23.        let index = segment.selectedIndexes.firstIndex  
  24.        if segment == self.segmentController1{  
  25.            //把2的点击效果取消掉  
  26.            self.segmentController2?.setSelectedIndex(3)  
  27.        }else{  
  28.            self.segmentController1?.setSelectedIndex(3)  
  29.              
  30.        }  
  31.        self.type = ((segment.buttonsArray[index]) as! UIButton).currentTitle!  
  32.        if self.dropDownMenu1 != nil {  
  33.            self.dropDownMenu1?.resetParams()  
  34.        }  
  35.        if self.dropDownMenu2 != nil {  
  36.            self.dropDownMenu2?.resetParams()  
  37.        }  
  38.          
  39.        switch (index){  
  40.        case 0:  
  41.            self.createDropMenu(self.literatureArray1, array2: self.literatureArray2)  
  42.            break  
  43.        case 1:  
  44.            self.createDropMenu(self.humanitiesArray1, array2: self.humanitiesArray2)  
  45.            break  
  46.        case 2:  
  47.            self.createDropMenu(self.livelihoodArray1, array2: self.livelihoodArray2)  
  48.            break  
  49.        case 3:  
  50.            self.createDropMenu(self.economiesArray1, array2: self.economiesArray2)  
  51.            break  
  52.        case 4:  
  53.            self.createDropMenu(self.technologyArray1, array2: self.technologyArray2)  
  54.            break  
  55.        case 5:  
  56.            self.createDropMenu(self.NetworkArray1, array2: self.NetworkArray2)  
  57.            break  
  58.        default:  
  59.            break  
  60.        }  
  61.          
  62.    }  

JVFloatTextField主要应该是能够使textField更加美观吧 个人认为


[plain]  view plain  copy
 print ?
  1. var BookName:JVFloatLabeledTextField?  
  2.     
  3.   var BookEditor:JVFloatLabeledTextField?  
[plain]  view plain  copy
 print ?
  1. self.BookName = JVFloatLabeledTextField(frame: CGRectMake(128,8+40,SCREEN_WIDTH-128-15,30))  
  2.        self.BookEditor = JVFloatLabeledTextField(frame: CGRectMake(128,8+70+40,SCREEN_WIDTH-128-15,30))  
  3.          
  4.        self.BookName?.placeholder = "书名"  
  5.        self.BookEditor?.placeholder = "作者"  
  6.          
  7.        self.BookName?.floatingLabelFont = UIFont(name: MY_FONT, size: 14)  
  8.        self.BookEditor?.floatingLabelFont = UIFont(name: MY_FONT, size: 14)  
  9.          
LDXScore主要是一个加星星的一个评分的view吧

[plain]  view plain  copy
 print ?
  1. self.Score = LDXScore(frame: CGRectMake(100,10,100,22))  
  2.        //是否可以编辑  
  3.        self.Score?.isSelect = true  
  4.        self.Score?.normalImg = UIImage(named:"btn_star_evaluation_normal")  
  5.        self.Score?.highlightImg = UIImage(named: "btn_star_evaluation_press")  
  6.        self.Score?.max_star = 5  
  7.        //一出来就是5颗  
  8.        self.Score?.show_star = 5  
可以把score读出来 应show_Star

[plain]  view plain  copy
 print ?
  1. self.Score?.show_star  

VPimagePicker主要是图片的裁剪 继承协议VPImageCropperDelegate


[plain]  view plain  copy
 print ?
  1. func getImageFromPicker(image: UIImage) {  
  2.       let CropVC = VPImageCropperViewController(image: image, cropFrame: CGRectMake(0,100,SCREEN_WIDTH,SCREEN_WIDTH * 1.273), limitScaleRatio: 3)  
  3.       CropVC.delegate = self  
  4.       self.presentViewController(CropVC, animated: true, completion: nil)  
  5.     
  6.   }  

[plain]  view plain  copy
 print ?
  1. func imageCropper(cropperViewController: VPImageCropperViewController!, didFinished editedImage: UIImage!) {  
  2.        self.BookTitle?.BookCover?.setImage(editedImage, forState: .Normal)  
  3.        cropperViewController.dismissViewControllerAnimated(true, completion: nil)  
  4.    }  
  5.    func imageCropperDidCancel(cropperViewController: VPImageCropperViewController!) {  
  6.       cropperViewController.dismissViewControllerAnimated(true, completion: nil)  
  7.    }  

常见动画
 BCGenieEffect 果冻吸入的效果 和Mac里最小化的效果一样~~很棒~    
 iCarousel 一套类似CoverFlow的空间,非常棒,可选多样式,可用于Mac    
 OpenFlow 类似CoverFlow的效果 挺老的工程 支持Mac    
 PaperFold-for-iOS 一套类似报纸展开的仿3D效果 用CA实现    
 MPFoldTransition 那个能左右上下Cube/Paper翻页的效果 挺棒    
 iOS-Flip-Transform 一个Flip翻页效果 支持上下左右翻页 会变暗    
 AFKPageFlipper 一个Flip翻页效果 可能性能不够好 也不会变暗    
 DoorwayTransition 一个OpenDoor的动画    
 Flipboard-3D-Transform-Effect-Example 如题Flip效果 没测试    
 PaperFoldMenuController 一个Map折纸动画效果 一般    
 XYOrigami Map折纸动画~    
 PaperStack 用OpenGL实现的类似iBook的效果 但是一般    
 GCRetractableSectionController 让TableView能按Group展开合起    
 HMGLTransitions 一个OpenGL的视图切换 跑不起来? 很久没更新    
 EPGLTransitionView 一个OpenGL的视图 包括iBook效果 折纸翻页效果 散落效果    
 leaves 一套有些类似iBook的效果但只有横向翻页 被用在看书的地方    
 GC3DFlipTransitionStyleSegue 用GL实现的iBook 一般    
 KNSemiModalViewController 一个推出ModalView的动画 后面的会缩小上移    
 letterpressexplosion UIView的撕碎爆炸效果 (CA实现)    
 FancySegue 几个GL实现的动画 虽然不怎么好    
 CoreImageTransition 用CI实现的一些动画过渡 过雾~    
 LTransitionImageView 一个Image的过渡效果    
 STScratchView 刮奖的效果    
 XBPageCurl GL实现的翻页效果~    
 ADTransitionController 很多有趣的导航视图切换动画    
 VCTransitionsLibrary iOS7下,一些自定义转场动画~ 挺棒    
 JazzHands IFTTT简介的动画框架,是个关键帧动画框架哟~    
控件
HUD
 MBProgressHUD 一个HUD 用得很广泛 无阴影 全屏模态    
 MBProgressHUD 和MBHUD一样 但有更新 添加了BLock iOS6    
 ATMHud 很棒的HUD 有阴影和动画~    
 SVProgressHUD 一个HUD 样式类似MB_HUD 有一些进度等    
 HTProgressHUD 又一个HUD    
 ETActivityIndicatorView Windows Phone 7风格风火轮    
Slider
 JMSlider 一个很小清新的Slider 用CA画的    
 iOS-Custom-Controls 按住可以出Pop的UISlider    
 MTZTiltReflectionSlider 一个模仿iOS6 Music的Slider    
 ASRangeSlider 一个两段式的Slider    
 DCFineTuneSlider 可以拖动外部 和显示左右箭头的Slider    
 ARAnnotatedSlider KVO教学 一个在Slider上面显示小Poper的~    
 LARSBar 显示声音dB的Slider    
 EDStarRating 打星评级 Slider控件    
 OBSlider 模拟iPhone音乐进度的表现    
 TLTiltSlider 仿iOS6 音量Slider,有金属光泽动画    
 RETrimControl 类似iOS6录像裁减的控制条    
Progress
 KOAProgressBar 自定义ProgressBar    
 DDProgressView 平面风格的Progress进度条    
 WNProgressView 一些有趣风格的ProgressView    
 YLProgressBar 一些不错样式的ProgessBar    
 DACircularProgress 圆环形进度条    
 MRProgress 圆环进度条,iOS7风格,iOS7 Only    
 MDRadialProgress 圆环进度条,多种风格 iOS6+    
侧滑
 ViewDeck 左右侧滑控件    
MSDynamicsDrawerViewController iOS7 动态弹性和景深的侧滑~    
 ECSlidingViewController 一个很简单的侧滑控件    
 JASidePanels 一套不错样式的侧滑控件    
 PSStackedView 一套侧滑且带Stack的控件,类似Twitter iPad    
 PKRevealController 一个侧滑控件    
 JTRevealSidebarDemo 一个类似FB侧滑的Demo    
 PPRevealSideViewController 又一个类似FB的侧滑控件    
 CLCascade 类似Twitter iPad版的侧滑控件    
 SlideViewController 侧滑菜单 类似FB的界面    
 MMDrawerController 一个侧滑控件    
 MFSideMenu Facebook风格侧滑    
 SWRevealViewController Facebook风格侧滑    
 DDMenuController 又是一个Facebook风格侧滑    
 REFrostedViewController 一个iOS7风格的毛玻璃侧滑菜单    
 RNFrostedSidebar 一个由侧面划出的半透明菜单(小圆片),不错的交互效果    
Popover
 PopoverView CA实现的Popover 可用于iPhone,样式清新    
 WYPopoverController 高可定制Popover 样式不错,很棒    
 CMPopTipView 把PopView带入的iPhone    
 FPPopover 一个PopOver 支持iPhone    
 WEPopover 一个仿Popover API库 支持iPhone    
 UAModalPanel 一个类似PopView控件 可以比较多的自定义 Demo样式较乱    
 ColorPopover 一个用WEPopover写的单色选择    
 MultiRowCalloutAnnotationView 在Map里面弹出带表格的Pop    
 QBPopupMenu 类似iOS文字上的Pop 可以自定义~    
 kxmenu 一个PopView,动作还可以    
 RNGridMenu 一个Pop菜单,有背景模糊,效果不错~    
 GIKPopoverBackgroundView 为PopOver提供无缝背景 很棒    
 AwesomeMenu Path的扇形弹出按钮效果(CA)    
 QuadCurveMenu 上面AwesomeMenu的fork 类似Path的菜单    
 MGTileMenu 弹出按钮菜单 在四周成方形 效果不错    
 ADPopupView 在UIVIew上弹出自己画的界面 挺丑 但可以看看实现    
 KLExpandingSelect 四叶草风格弹出菜单~    
 StackMenu Mac的Stack弹出菜单    
下拉刷新
 MSPullToRefreshController 一个不错的上下拉刷新的控件 里面是彩虹    
 EGOTableViewPullRefresh 下拉刷新,很早的一个控件了2年没更新了    
 PullToRefresh 下拉刷新    
 SVPullToRefresh 下拉刷新 扩展了UIScrollView 很方便简单    
 HybridRefreshGestureRecognizer 一个类似似TweetBot的下拉刷新样式    
 sspulltorefresh 下拉刷新    
状态栏
 JDStatusBarNotification 状态栏控件,支持iOS6、7    
 MTStatusBarOverlay 状态栏的控件,但很久没更新了    
 KGStatusBar 状态栏控件,提醒    
GridView
 AQGridView 类似TableView但有横向分类,就像Android Launcher    
 GMGridView 又一个GridView 很不错,自带横纵排序编辑等功能    
 KKGridView 又一个GridView 已经Deperacted 直接用系统的就好    
 A3GridTableView 又一个GridView 貌似支持类似图标样的上栏    
 LIExposeController 一个类似GridView的东西    
Alert
 BlockAlertsAnd-ActionSheets 一个Block支持的Alert控件 支持自定义 不错~    
 PXAlertView 一个用来替代系统的Alert,高可定制,有iOS7风格    
 MBAlertView 一个简洁的AlertView,和HUD    
 MJPopupViewController 用不同左右动画弹出AlertView    
 MZFormSheetController 一个不错的弹出Alert Controller    
 WCAlertView 一些不错的自定义AlertView    
 GRAlertView 用CA画的带颜色的AlertView    
 SBTableAlert 一个AlertView 可以带表格 可以用苹果风格    
 URBAlertView 自定义AlertView 还有各种动画    
 SIAlertView 一个样子不错的自定义AlertView    
 MBMenuController 一个自定义AlertSheetVC    
 JLActionSheet 另一个自定义AlertSheet    
 ASDepthModal 实现简单的3维景深的模态视图 提供背景模糊    
 RNBlurModalView 将后方视图模糊    
 LMAlertView iOS7 可自定义内容的AlertView    
 SDCAlertView iOS7 可自定义内容的AlertView    
Segment
 SVSegmentedControl 一个分段选择控件 类似Mac10.7测试版中的UI 很棒~    
 URBSegmentedControl 一个灵活的分段控件 可以上下    
 MCSegmentedControl 一个系统分段的子类 可以自定义颜色    
 AKSegmentedControl 完全自定义的分段控件 风格不错    
 HMSegmentedControl Chrome风格的Tabbar分段    
 SDSegmentedControl 一个离散并且凹陷效果的分段    
 PPiFlatSegmentedControl 扁平风格的Segment (包含iOS7样式)    
Switch
 DCRoundSwitch 仿UISwicher 可以自定义 很棒    
 TTSwitch 一个可以完全自定义的UISwich~~    
 KLSwitch iOS7风格的Switch 高仿    
 MBSwitch iOS7风格的Switch 效果多    
 SevenSwitch iOS7风格的Switch 效果很多~    
Button
 CoolButtons 用CA画的带Glow的button 仿照系统    
 MAConfirmButton 一个类似AppStore下载的按钮 可以动画颜色大小等    
 FTWButton 一个UIControl实例的Button 可以看到如何自定义控件 有不错的动画效果    
 gradientbuttons 一个带有不同风格的Button~ 用CA绘制    
 DCActionButtonsController 一个PopOver的里面带各种画出的按钮    
 BPBarButtonItem 一个BarItem的不错的on the fly 生成    
 BButton 一种自定义Button 样式类似Twitter的Bootstrap 用CA画的    
 OBShapeon 用CA绘制的特殊形状button,可以检测path touch    
 UIGlossyButton 一些用CA画的带高光的奇怪Button...    
Scroll/Table
 LRSlidingTableViewCell 一个简单的左右滑动Cell 类似Twitter    
 TISwipeableTableView UITable的左右滑动 类似Twitter    
 TDBadgedCell 在TableCell右侧添加badge 有不同风格    
 UITableViewZoomController 类似Google+的 滑动Table缩放显示内部图片    
 UITableViewTricks TableView的扇形样式    
 iPhoneMK 几个简单的自己实现的View和Cell,提供某些常见功能    
 EasyTableView 一个支持左右的TableView 不错~    
 ZKRevealingTableViewCell 一个简单的可以左右滑动的TableCell    
 ADLivelyTableView 非常棒的TableCell显示动画~~~    
 MHLazyTableImages 一个简单的Table加载网络图片 从Apple的例子中改的    
 MHPagingScrollView 一个可以Page的ScrollView 但可以看到左右的预览 类似WP7    
 KLScrollSelect 一个竖屏滚动的选择瀑布流    
 RNRippleTableView Cell梳子抖动~ 挺有创意    
 RETableViewManager 数据驱动的Table 由数据画出Table内容    
 ios-SDNestedTable 二级菜单的Table    
 SWTableViewCell 类似iOS7邮件中的Cell,左右滑动出现多个功能键    
 TSUIKit 复杂数据表格、tab展示的UI控件,适合复杂数据展示    
Notification
 EKNotifView 很简单的下方Notif实现    
 MKInfoPanelDemo 一个从上方滑下的Notif控件 类似TwieetBot    
 TSMessages 在导航栏显示一个下拉Notif 效果不错    
 YRDropdownView 类似Tweetbot警告的下伸控件    
 NoticeView 类似Tweetbot的下伸控件    
 AJNotificationView 效果很不错的上部Notif提示    
Label/Text
 MarqueeLabel UILabel跑马灯效果    
 ICTextView 文本查找,支持正则,关键词高亮    
 CoreTextHyperlinkView 用CoreText画的 可以带Link的Text    
 EGOTextView UITextField替代品 支持富文本编辑    
 iOS-Rich-Text-Editor 富文本编辑    
 MTAnimatedLabel 类似滑动解锁的闪动Label    
 TextGlowDemo 一个给Label发出Glow光亮的Demo    
 FXLabel 很多不错的Label特效    
 AUIAnimatedText 一个UILabel子类 可以简单动画 颜色大小字体    
 RTLabel 简单的富文本Label 可以用Html样式    
 TTTAttributedLabel 一个Label控件 支持富文本属性    
 MDHTMLLabel 一个富文本Label控件,可以支持链接和点击事件    
 DTCoreText CoreText的包装,可以输入HTML~~    
 OHAttributedLabel 支持NSAttributedString的UILabel控件    
 ARLabel 自动字体大小    
 LEffectLabel 渐变动画颜色的Label,类似滑动解锁    
 BBCyclingLabel 在Label发生改变时,有动画效果    
 HTAutocompleteTextField TextField带自动补全    
 JVFloatLabeledTextField 带有能浮动的占位符的 文本框    
 CMHTMLView 用HTML展示富文本,但能有Native类似的体验    
界面切换/导航
 APExtendedPageController 类似Chrome左右滑动切换视图的控件    
 MBSpacialViewController 2D上下左右导航的奇怪视图    
 MSMatrixController 又一个 2D上下左右导航的奇怪视图..    
 MHTabBarController 一个类似Android的上方Tabbar    
 FSVerticalTabBarController 在左侧的Tabbar    
 AKTabBarController 自定义Tabbar 样式类似AppStore    
 MGSplitViewController 类似系统的UISplitVC 但有更多功能    
 PSTCollectionView 类似系统的UIColloectionView 为了支持iOS4.3    
 JMTabView 一个TabView 用CA画的,类似 Mac系统的单选控件    
MWFSlideNavigationViewController 一个能左右上下滑动的简单导航栏    
 UIScrollSlidingPages 一个和Chrome类似的左右滑动Pager    
 FlipBoardNavigationController 类似网易客户端/Flipboard手机 左右滑动的Nav    
 BCTabBarController Twitter类似的Tabbar 2年前的工程    
 CKSideBarController 类似Twitter iPad的左侧Tabbar    
 DVSlideViewController 类似Safari的滑动切换    
 HGPageScrollView 类似Safari浏览的分页控件、    
 HSImageSidebarView 一个类似Keynote的侧边栏    
 RNSwipeViewController 滑动界面显示另一个界面 类似下拉状态栏查看天气    
 RESideMenu iOS7风格侧滑    
知名效果Demo
 KLNoteViewController 一个类似Evernote旧版的Stack界面 绿色的    
 REComposeViewController 一个类似系统Twitter分享界面~    
 DETweetComposeViewController 一个iOS4实现的 类似iOS5的twitter分享    
 JTGestureBasedTableViewDemo 一个类似Clear的Demo    
 Opaque 一个Clear的Demo    
 MCSwipeTableViewCell 类似Mailbox的控件 和Clear差不多    
 CHTCollectionViewWaterfallLayout 瀑布流控件    
 PSCollectionView 类似瀑布流式的控件    
 IIIThumbFlow 瀑布流控件    
 WaterflowView 瀑布流的View 看样子Star挺多    
 KNPathTableViewController 在Table右侧显示类似Path的时间 很简单~    
 GSBookShelf 一个类似iBook书柜的实现    
 M6ParallaxController 类似Path封面的效果    
 ZGParallelView 类似Path的封面效果 貌似不错    
 TimeScroller 类似Path右侧的时间小滑块    
 chatheads Facebook 一个一直最上方的头像 点击可以显示Table    
 MBSliderView 滑动解锁    
 DKLiveBlur 雅虎天气风格的动态模糊    
 ios-realtimeblur iOS7 模糊效果    
 GHSidebarNav 新版Facebook 侧滑等UI    
LXReorderableCollectionViewFlowLayout iBook中 拖动图书的功能    
 MDCParallaxView 景深效果 就像Path的封面那样    
其他
 SMPageControl 一个仿UIPageControl的API类 可以自定义小点点~    
 REActivityViewController 开的ActivityView实现    
 DCControls 不错的扇形滑动控件 平面风格    
 BSKeyboardControls 与键盘相关的控制 控制 上一项下一项    
 OCMapView 一个MapKit标注聚合用的东西~    
 NJKWebViewProgress 显示WebView加载进度    
 REMenu 一个导航栏下拉菜单 不错~    
 action-sheet-blocks 为ActionSSheet提供block方法    
 ADClusterMapView Map的地标Cluster 应该不错~    
 TPKeyboardAvoiding 一个UIView的 在有键盘时上移    
 calloutview 实现了私有的UICalloutView 类似地图中的弹出控件    
 SVPulsingAnnotationView 一个自定义MapLocator 动画控件    
 OWActivityViewController 一个类似系统的分享控件    
 SYEmojiPopover 显示一个Emoji选择de PopOVer    
 fingertips 在屏幕上显示触摸点 只支持iPad2和iPhone4s以上    
 ASTouchVisualizer 为屏幕触摸添加指示 可用于屏幕录制    
 openspringboard 仿SpringBoard的东西    
 HMLauncherView 仿SpringBoard的东西    
 CQMFloatingController 一个浮动的VC 类似Popover(没有箭头) 可以用在横屏iPhone等    
 WSCoachMarksView 为某个控件加上蒙板 类似Spotlight    
 KLHorizontalSelect 横向扫动选择    
 iOS-StyledPageControl 自定义PageControl,多种样式    
 iOS-blur iOS7的模糊效果 iOS7Only    
 FXBlurView iOS7的模糊效果 可以用在iOS5以上    
 MYBlurIntroductionView 带有模糊背景效果的 Intro    
 Masonry AutoLayout框架    
 KeepLayout AutoLayout框架 貌似比较好用    
 MLPAccessoryBadge 一些自定义badge~    
 JSBadgeView 数字角标 Badge    
 MSCellAccessory Cell右侧的小箭头~    
 ios-fontawesome 一套用字体实现的Icon    
 WTGlyphFontSet 另一套用字体实现的Icon    
 DAKeyboardControl 键盘滑动消逝,就像系统内置的短信界面    
 JWFolders iOS6以下的文件夹展开效果    
 OCCalendar Popover样式的日期选择器    
 IBAForms Form构建。2年前的工程了..    
 ActionSheetPicker 一个PopOver里面是Picker    
MSCollectionViewCalendarLayout 日历事件样式 iOS6以上    
 MosaicUI WP7磁片风格View 自适应大小    
 MosaicLayout WP7磁片风格Layout UICollectionView    
 iPhone-IntroductionTutorial 用于创建启动引导界面的...    
 US2FormValidator 一套Table表单验证提示    
 AURosetteView 玫瑰花瓣似的展开菜单    
 EAIntroView App启动的介绍界面    
 InformaticToolbar 下边栏显示提示和动作    
高级功能
 PAPasscode 类似系统的输入密码界面    
 KKPasscodeLock 又一个类似系统输入密码界面    
 PTShowcaseViewController 能显示音视频等一堆格式文件的控件    
 Reader 一套显示PDF的库 支持大文件、加密文件 有iBook样式的界面 性能很好    
 FastPdfKit 一套PDF库 性能据说很好 也有界面    
 Kal 一套日历控件 高仿iOS默认    
 objc-TimesSquare 一套日历控件 类似iOS默认 貌似清新一些    
 ABCalendarPicker 高仿iOS默认日历的DatePicker~    
 MWPhotoBrowser 一套图片浏览控件 高仿iOS默认 支持网络图片    
 PTImageAlbumViewController 图片浏览控件 仿iOS默认    
 FGallery-iPhone 图片浏览器    
 AGImagePickerController 选取图片 支持多选    
 ELCImagePickerController 一个仿系统的ImagePicker 但支持多选    
 PhotoViewer 一个图片浏览的控件    
 KTPhotoBrowser 图片浏览控件 3年没更新了    
 DLCImagePickerController 一个用GPUImage实现的 ImagePicker功能,支持拍照和特效    
 route-me 一套自定义MapView 高仿系统 但支持不同的数据源    
 GrowingTextView 一个高仿短信发送的输入框    
 PHFComposeBarView 高仿短信发送输入框    
 MessagesTableViewController 高仿短信界面,可定制    
 AcaniChat 仿短信App 挺老了    
 UIBubbleTableView iOS短信的泡泡界面,可以支持图片    
 ODRefreshControl 一个高仿iOS6下拉刷新的控件    
 ssmessagesviewcontroller 和系统类似的发短信界面 挺粗糙 当然现在系统已经提供了    
 SVWebViewController 一个简易的浏览器功能控件    
 TSMiniWebBrowser 一个简易的内置浏览器    
 TITokenField 一个高仿Mail和短信 选择联系人的控件    
 DAAppsViewController 一个仿AppStore的列表界面 输入appId集合    
 WUEmoticonsKeyboard 输入表情的自定义键盘    
 CKCalendar 一个朴实的日历    
 LBYouTubeView 显示Youtube视频..国内无用    
套装
 tapkulibrary 一套比较大的自定义控件库 包括不错的HUD,进度条,日历,CoverFlow等    
 FlatUIKit 一套完整的扁平风格的UI (Flat)    
 Weibo 一套仿iOS7的控件    
 UI7Kit 一套iOS7风格的控件,可以在iOS5、6上用    
 PrettyKit 一套系统UI的子类 有着平滑渐变和阴影效果    
 nui 一套加在UIKit上的Category,允许用类CSS代码来控制样式    
 QuickDialog 一套自定义控件库,用来快速建造基于Table的设置    
 MGBoxKit 一套UIView的扩展和子类(Table Grid..) 有不错的类CSS的功能 有些好用的代码    
 MGBox MGBox的旧版 应该去看v2    
 iOS-boilerplate 一些常见功能实现的例子:HUD Table滑动,打开URL用WebView等 挺老的工程    
 idev-recipes iDevRecipes博客的代码,演示了如何自定义一些控件,代码比较老..    
 AePubReader 一个阅读epub的    
较完整的App
 Brushes 绘画的App,超棒,Appstore上架应用    
 Inkpad 一个完整的矢量绘图App,很棒,已上架    
 modizer !!!超强大的App 可以读取和演奏各种mod音乐 midi合成 解压 下载 自带庞大音乐库~ 已上架    
 kxmovie 一个ffmpeg的播放器 ~~~ 需要先构建ffmpeg    
 ioctocat 一个Github客户端    
 cheddar-ios 一个日程管理的App 应该比较知名    
 AppSales-Mobile 基于iTunes Connect来查看App销售状况    
 canabalt-ios 一个跑步的小游戏~    
 baker 一套HTML5构建的ebook库 貌似挺强大    
 iPhoneTracker 一个挺老的App 2年前    
 Off-the-Record-iOS 一个实时聊天的功能 支持一些XMPP协议    
 kokuban 一个iPad小画板 3年前    
 glpaint 从Appled的GLPaint改的    
 OpenGLMilkyWay 银河~~ 很棒 有教材    
 iphone-app OSChina 开源中国 ..竟然挪到git.oschina.net去了。。    
 BeeFancy 一个仿Fancy的客户端 基于BeeFranework    
 ruby-china-for-ios RubyChina官方客户端    
 ruby-china-ios 和上面一样?    
 wh-app-ios 白宫官方App    
 CastleHassle 一个Cocos2D的物理小游戏 貌似内容挺丰富~    
 DocSets-for-iOS iOS显示DocSets 可以下载iOS官方Doc~    
 newsyc 一个newsyc.me的客户端 (iPhone hacker News)    
 News-YC---iPhone hackerNews的客户端    
 Upcoming 一个设计很棒的日程安排    
 Anypic 一个像Instagram那样的图片分享社区App    
 ClassicMap 旧版iOS地图    
 ntlniph Twitter客户端 古老的工程了    
 lastfm-iphone Last.fm官方客户端    
 ThatInbox Ink出的邮件客户端    
 ThatCloud Ink出的云端文件管理    
 ThatPDF Ink出的PDF编辑    
 ThatPhoto Ink出的图片编辑    
开发/调试工具
 xctool iOS工程构建和测试工具,用于替代系统的xcodebuild (CI)    
 PonyDebugger 一套Debugger工具,可以在电脑浏览器上远程调试iOS程序~查看试图层次、网络等    
 NSLogger 一套Log工具,可以在电脑上通过client实时查看NSLog,甚至是图片和二进制文件 支持Android    
 KIF 一套用Private API做的调试库,可以以用户的方式测试(touch in xxx)    
 gh-unit 一套ObjC的测试框架    
 DCIntrospect 一套iOS调试工具,在iOS界面里显示信息    
 CocoaLumberjack 一套类似Log4j的东西,可提供企业级的Log~~~~    
 Frank 自动化测试工具?    
 superdb 一个Debuger工具 用命令行调试。。    
 iOS-Hierarchy-Viewer 一个调试iOS界面的工具 通过浏览器访问~~ 值得瞅瞅~~    
 hierarchydetective 一个3D显示iOS视图层级的调试工具    
 CATransform3D-Test 调试CATransform3D矩阵的工具~    
 LLDB-QuickLook 在调试时用命令行调用QuickLook来显示图片、UIView等    
 iConsole 在App内显示调试信息、执行调试命令    
 Nocilla 一个模拟HTTP响应的调试库    
 dyci-main 一个可以在调试时动态添加代码的工具 需要改动Xcode    
 GestureLab 调试和把玩GestureRecognizor的    
 cedar BDD风格单元测试    
 iOS-UI-Assets iOS5.1中,系统控件和App的图片资源Dump 嗯..iOS7后就没用了    
 iOS-Artwork-Extractor 导出iOS系统App及控件的图片资源 只支持到iOS5    
旧代码 & 奇怪的东西
 DB5 通过plist构建界面的小东西    
 HockeyKit 一套iOS的 Ad-Hoc升级框架.包含PHP服务端    
 Briefs 一套类似原型制作工具    
 OpenTLD 视频跟踪检测 貌似挺高深    
 SimFinger 一些Fake系统图标的App 还有一些设备外框的图片、触摸点图片可以用    
 scifihifi-iphone 已经弃用的旧代码 新工程去看github页面    
 iphonearkit 4年前的代码 增强现实 (AR)    
 TouchDB-iOS 一个嵌入式的CouchDB实现    
 iOS-Runtime-Headers 从运行时Dump出来的公有/私有 Framework头 通过这个可以进行不同版本的对比    
 objectiveresource RoR相关的东西    
 GRMustache Mustache模板?    
 titanium_modules Titanium 的常用模块    
 fontdiao 类似FontAwesome的东西,包含了一些国内网站logo    
代码库大包包
 iphone-3.0-cookbook- 随书代码    
 iOS-5-Cookbook 随书代码~    
 iOS-6-Cookbook      
 iOS-6-Advanced-Cookbook      
 iOS7-day-by-day iOS7-day-by-day 博客的代码    
 iOS7-Sampler iOS7的一些新功能演示~    
 MyProjects 一些http:/ /mysparks.info上面的代码    
 Xcode-Snippets 一些Xcode代码片段    

猜你喜欢

转载自blog.csdn.net/qq_24143647/article/details/78206601