• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > 调用自定义uiview的方法

调用自定义uiview的方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了uiview,uiviewcontroller,uiview动画,ios uiview,uiview 圆角等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 调用自定义uiview的方法
描述:

本帖最后由 wsxcy66668888 于 2015-04-19 19:27:00 编辑

uiview

一个网上找的代码:

import UIKit
let kTouchedLinkNotification = "kTouchedLinkNotification"
let kCWInvalidRange = NSMakeRange(NSNotFound, 0)
class CWCoreTextView: UIView, NSLayoutManagerDelegate {
    
    var layoutManager: CWLayoutManager
    var textContainer: NSTextContainer
    var touchesGestureRecognizer: CWTouchesGestureRecognizer?
    
    var touchRange = kCWInvalidRange
    
    var textStorage: NSTextStorage? {
        didSet {
            if let _textStorage: NSTextStorage = textStorage {
                _textStorage.addLayoutManager(layoutManager)
                self.setNeedsUpdateConstraints()
                self.setNeedsDisplay()
            }
        }
    }
    
    required init(coder aDecoder: NSCoder) {
        layoutManager = CWLayoutManager()
        textContainer = NSTextContainer(size: CGSizeMake(320, CGFloat.max))
        super.init(coder: aDecoder)
        layoutManager.delegate = self
        layoutManager.addTextContainer(textContainer)
        touchesGestureRecognizer = CWTouchesGestureRecognizer(target: self, action: "handleTouch:")
        self.addGestureRecognizer(touchesGestureRecognizer!)
    }
    
    override func drawRect(rect: CGRect) {
        if let _textStorage: NSTextStorage = textStorage {
            let glyphRange = layoutManager.glyphRangeForTextContainer(textContainer)
            let point = layoutManager.locationForGlyphAtIndex(glyphRange.location)
            layoutManager.drawGlyphsForGlyphRange(glyphRange, atPoint: point)
        }
    }
    
    func handleTouch(gestureRecognizer: UIGestureRecognizer) {
        let state = gestureRecognizer.state
        
        switch state {
            // began
        case .Began :
            var location = gestureRecognizer.locationInView(self)
            let startPoint = layoutManager.locationForGlyphAtIndex(0)
            location = CGPoint(x: location.x - startPoint.x, y: location.y - startPoint.y)
            
            var fraction: CGFloat = 0
            
            let index = layoutManager.glyphIndexForPoint(location, inTextContainer: textContainer, fractionOfDistanceThroughGlyph: &fraction)
            
            if (0.01 < fraction && fraction < 0.99) {
                var effectiveRange: NSRange = kCWInvalidRange
                var value: AnyObject? = textStorage?.attribute(NSLinkAttributeName, atIndex: index, effectiveRange: &effectiveRange)
                if let _value: AnyObject = value {
                    touchRange = effectiveRange
                    layoutManager.touchRange = touchRange
                    layoutManager.isTouched = true
                    
                    NSNotificationCenter.defaultCenter().postNotificationName(kTouchedLinkNotification, object: _value)
                    self.setNeedsDisplay()
                } else {
                    touchRange = kCWInvalidRange
                }
            }
            
            // end or canceled
        case .Ended, .Cancelled :
            if (touchRange.location != NSNotFound) {
               &
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何把uiview中所有的subview全部清除掉
  • 如何用英语介绍自己UIView如何判断自己不在用户的可视范围呢?
  • (swift)在一个uiview里放了4个tableview,为啥他们样式不一样啊
  • 调用自定义uiview的方法
  • 诗经中关于爱情的诗关于UIView中animation方法
  • UIView重复调用多次layoutSubviews方法
  • UIViewController的PopToRootViewController时候发生了什么
  • 当UIView正在做动画时,如何获取UIView的frame?
  • UIView围绕中心点旋转90后,它的frame是多少?

相关文章

  • 2017-06-05 androidsdk下载IOS旧版SDK在哪下载?
  • 2017-06-05 微信红包牛牛作弊器微信公号里采用七牛上传视频部分手机不能选择文件
  • 2017-06-05 iOS?并发请求数据,在两者都成功回调之后,刷新UI,求大神思路
  • 2017-06-05 swift的一个问题,请教各位
  • 2017-06-05 截图怎么截iOS截图有白边
  • 2017-06-05 使用CoreData,对实体的基本类型属性赋值时出错
  • 2017-06-05 (swift)求ocgoto语句的正确姿势,现在goto的调用在条件以内,但是实际情况是条件没满足也调用了,什么情况?谢谢
  • 2017-06-05 xcodearchiveXcode编译出现警告的原因都有哪些
  • 2017-06-05 JSON数据转成Dictionary之后用objectForKey赋值导致程序崩溃
  • 2017-06-05 我用InstrumentsTimeProfiler时,无法定位代码,如何破?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • (swift)在storyboard中,TableVC跳转到一个VC,这样可行吗?
    • 头发颜色渐变颜色渐变问题
    • ios在view中add一个uitabbarcontroller其他的控件的点击事件冲突
    • 会声会影10安装教程podupdate后会自动安装未知的依赖库
    • SubViewController向数组增加一项数据,显示在RootViewController里面的tableView
    • 搜索附近的人iOS搜索附近的人功能怎么做?
    • 保持松散耦合,灵活性标准与规模、可见性两个标准冲突时如何取舍?
    • 正比例反比例iOS单例创建的一点疑惑
    • iOS采用https请求,请问我需要修改一些代码吗?
    • (swift)下载gitbook上的pdf书籍后如何转化为html

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有