开发过程中 很可能  把swift不成熟的地方用成熟的oc 代码来弥补一下 , 下面简单来学习一下,我也是照着视频 学习的 卖弄谈不上 就是一次学习笔记, 具体问题还是具体分析吧.

需求 给展出出来的的图片 添加触摸点击响应事件

实施方式:把这个 有触摸事件的UIImageView(OFImageView) 用 OC 写成一个对象  然后用swift 去调用

1,第一次创建 OFImageView  时候 会生成一个XXXX-Bridging-Header.h 文件  查了好多资料解释说 这个 桥梁头文件里

是用来 :

import 所有Swift需要调用OC的类 的那个库用到的头文件

swift 需要的头文件 才写在这  不是 oc头文件都要写在这

当前这个demo 没有过多的需求 暂时 只添加

"#import "OFImageView.h"

2,

#import <UIKit/UIKit.h>

@interface OFImageView : UIImageView{
id _target;
SEL _sel;
} - (void)test; //
- (void)addtarget:(id)target withSelector:(SEL)sel; //添加了点击事件给这个图片 @end #import "OFImageView.h" @implementation OFImageView - (void)addtarget:(id)target withSelector:(SEL)sel
{
_target = target;
_sel = sel;
self.userInteractionEnabled = YES;
} - (void)test
{
NSLog(@"print test");
} - (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
if(_target){
[_target performSelector:_sel withObject:self afterDelay:0];//触发这个事件
}
} @end

调用

效果上图片:

要想让 这个图片点击起来有效果 像按钮一样  就拓展一下 touch方法  即可 此处不赘述

分享一篇好文 关于 touch的 " iOS中的触摸事件和手势处理 "

http://my.oschina.net/aofe/blog/268749

Swift 学习 用 swift 调用 oc的更多相关文章

  1. 【Swift学习】Swift编程之旅---闭包(十一)

    闭包是可以在代码中被传递和使用的自包含功能模块,它很像c和oc中的block,和.net中的lambdasbas表达式. 闭包可以捕获和存储其所在上下文中任意常量和变量的引用. 包裹着这些常量和变量的 ...

  2. swift学习笔记 - swift中常用关键字

    swift中常用关键字 **用作声明的关键字: ** class.deinit.enum.extension.func.import.init.let.protocol.static.struct.s ...

  3. 【Swift学习】Swift编程之旅---可选链(二十一)

    可选链Optional Chaining是一种可以在当前值可能为nil的可选值上请求和调用属性.方法及下标的方法.如果可选值有值,那么调用就会成功:如果可选值是nil,那么调用将返回nil.多个调用可 ...

  4. 【Swift学习】Swift编程之旅---ARC(二十)

    Swift使用自动引用计数(ARC)来跟踪并管理应用使用的内存.大部分情况下,这意味着在Swift语言中,内存管理"仍然工作",不需要自己去考虑内存管理的事情.当实例不再被使用时, ...

  5. 【Swift学习】Swift编程之旅---析构方法(十九)

    在一个类的实例内存被释放之前,析构方法被立即调用.使用deinit关键字来声明析构方法,类似于构造方法用init来声明.析构方法只适用于类类型.   析构方法原理 Swift会自动释放不再需要的实例以 ...

  6. 【Swift学习】Swift编程之旅---构造方法(十八)

    初始化是为了使用某个类.结构体或枚举类型的实例而进行的准备过程.这个过程包括为每个存储的属性设置一个初始值,然后执行新实例所需的任何其他设置或初始化.   初始化是通过定义构造器(Initialize ...

  7. 【Swift学习】Swift编程之旅---继承(十七)

    在 Swift 中,继承是区分「类」与其它类型的一个基本特征.swift不支持多重继承.类可以调用和访问超类的方法,属性和subscripts下标,并且可以重写(override)这些方法,属性和附属 ...

  8. 【Swift学习】Swift编程之旅---方法(十五)

    在Swift中结构体和枚举也能够定义方法,而在 Objective-C 中,类是唯一能定义方法的类型. 实例方法 实例方法是属于某个特定类.结构体或者枚举类型实例的方法,实例方法提供访问和修改实例属性 ...

  9. 【Swift学习】Swift编程之旅---函数(十)

    函数是一组用于执行特定任务的独立的代码段,你用一个名字来标识函数,这个名字是用来“调用”函数来执行它的任务. swift统一函数的语法具有足够的灵活性来表达任何一个简单的不带参数的名称与本地和外部的每 ...

随机推荐

  1. python第二周数据类型 字符编码 文件处理

    第一数据类型需要学习的几个点: 用途 定义方式 常用操作和内置的方法 该类型总结: 可以存一个值或者多个值 只能存储一个值 可以存储多个值,值都可以是什么类型 有序或者无序 可变或者不可变 二:数字整 ...

  2. spring cloud与K8S

    链接:https://www.zhihu.com/question/50806354/answer/139653085 spring cloud +docker 当然没有问题,只是当我们搭建集群实现高 ...

  3. Java基础03 构造器与方法重载(转载)

    显式初始化要求我们在写程序时就确定初始值,这有时很不方便.我们可以使用构造器(constructor)来初始化对象.构造器可以初始化数据成员,还可以规定特定的操作.这些操作会在创建对象时自动执行. 定 ...

  4. 什么是 AJAX?

    AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML). 简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行 ...

  5. SlidingMenu官方实例分析5——FragmentChangeActivity

    FragmentChangeActivity 这个类在OnCreate中依然判断了savedInstanceState,原因同上文一样,但是他这里使用了 这个方法是在转屏幕的时候,用于保存一些参数,比 ...

  6. PHP实现自己活了多少岁

    1.mktime()函数的功能 2.代码: $birth = mktime(0,0,0,10,2,1992);//出生的时间戳 $time = time();//当前的时间戳 $age = floor ...

  7. jmeter3.3测试webservice 接口

    1.天气预报网站,提供webservice接口 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 2.选择测试的接口getSupp ...

  8. 42、使用存放在存assets文件夹下的SQLite数据库

    因为这次的项目需要自带数据,所以就就把数据都放到一个SQLite的数据库文件中了,之后把该文件放到了assets文件夹下面.一开始打算每次都从assets文件夹下面把该文件夹拷贝到手机的SD卡或者手机 ...

  9. Java Modifier

  10. POI1999(仓库管理员)

    题目链接:传送门