首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

跟iOS UI的捉迷藏(如何获取用户点击行为的控件title)

1.如何获取用户控件的点击行为 事实上,由于获取的“所见所得”点击view行为,所以,思路上应该是对uiview或者及其子类得某个事件方法hook到,这样触发点击(广义上是触摸)行为后,可以根据发送的事件确定点击的...可以获取对应的uiview或者uiwindow 对应的点击位置信息可以用过 [uiTouch locationInView:uiTouch.view]获取; 这样我们就能对uiview进行判断,并获取title...uiview,这里就需要判断目标是uiview的哪个子类 没错,iOS没有统一的title获取方式,所以要对每种控件单独判断。。。...先从简单的开始 一阶获取的控件:UIButton 响应的uiview是UIButton,即用户点击的是按钮,则立马获取(即一阶获取) NSString * title = [[button titleLabel...的superview,通过[[uitableview textLabel] text]方法获得,拐了一个弯,需要父view子view,即二阶获取 二阶获取的控件:UITabBar UITabBar也是一个常用的布局

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    国内 Mono 相关文章汇总

    Jexus 5.0 Ubuntu10.04上编译安装部署Mono2.10.8+Nginx1.0.11+MySQL5.5.20实战 用ILMerge合并Silverlight, WindowsPhoneMono...与IPhone使用UIImagePickerController的图片选择不同的代码 Monotouch 常用例子代码 Monotouch多视图的创建与销毁 Monotouch 视图管理周期 Monotouch...自己动手改泥鳅(下) 如何让我们的PHP在Jexus中跑起来 Linux+apache+mono+asp.net安装教程 mono for android 读取网络远程图片 mono for android 获取手机照片拍照并裁剪保存...回忆录 Xamarin.Android快速入门 MONO x64 amd_x64 Xamarin.Android多界面 Xamarin.Android活动的生命周期 Xamarin.Android下获取与解析...下的.net mvc cms 欢迎各位热心Linux平台.NET应用程序开发,特别是希望基于Linux进行ASP.NET WEB网站建设的朋友,多多关注 http://www.linuxdot.net,加入

    11.2K60

    UI篇-UIResponder之事件传递和响应精析

    这些状态包括点击开始、移动、停止不动、结束和取消五个状态。每次点击发生的时候,点击对象都放在一个集合中传入UIResponder的回调方法中,我们通过集合中对象获取用户点击的位置。...其中通过- (CGPoint)locationInView:(nullable UIView *)view获取当前点击坐标点,- (CGPoint)previousLocationInView:(nullable...UIView *)view获取上个点击位置的坐标点。...UIApplication、UIView、和所有从UIView派生出来的UIKit类(包括UIWindow)都直接间接地继承自UIResponder类。...由于这些方法是事件进入应用程序的通道,所以,您可以从UIApplicationUIWindow派生出子类,重载其sendEvent:方法,实现对事件的监控执行特殊的事件处理。

    2.5K30

    OS X 上使用.NET开发应用程序

    MonoMac是面向Mac OSX API的C#绑定,其API设计主要受到了MonoTouch的启发,后者可以基于Mono开发原生的iOS应用程序。...MonoTouch的成功则是一个良好的基础,于是Mono开始将Cocoa API使用C#和.NET世界中的模式与惯例用法表现出来,并提供开发人员整套Cocoa应用程序的开发工具。...前者包含了面向MacOS的绑定,而后者则包含了MonoMac和MonoTouch共用的代码。...下载完软件,点击运行如图: 上边的那幅图中有xcode和IOS SDK的安装说明,下面那幅图是软件安装的图标,点击下边的Xcode and iOS SDK开始安装。...", ++count); } 此时可以选择菜单Run - Run,直接使用快捷键Command(即Win键) + Alt + Enter便会编译项目,这样你就可以看到这个程序运行起来了。

    1.3K50

    【 iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

    UIView 简介 : 1.定义 : iOS 手机屏幕上的所有能看到的内容都是 UIView UIView 子类, 如 按钮 UIButton, 文字 UILabel 等都是继承自 UIView...- ( 2 ) UIView 属性 UIView 常用属性 : 1.superview 属性 : 获取父控件对象, UIView 中定义内容 @property(nonatomic,readonly)...随机 颜色值 : 1.添加按钮 ( 功能 修改父控件背景变颜色 ) : ① 获取父控件 : 根据 按钮 点击方法传入的 按钮控件, 获取其父控件, UIView * superView = sender.superview...获取按钮的父控件 UIView * superView = sender.superview; //2....获取按钮的父控件 UIView * superView = sender.superview; //2.

    4.9K30

    iOS 事件体系知识及原理小记

    *)view; // 获取当前坐标 - (CGPoint)previousLocationInView:(nullable UIView *)view; // 获取上一次坐标 1 UIEvent 在iOS...UIEvent,如果UIEvent对象已经存在,那直接复用已有的UIEvent,UIEvent在应用中一旦被创建,它的生命周期会一直伴随着应用,所以千万别retain一个UIEvent或者通过return来获取一个...UIApplication / UIViewController / UIView 以及所有继承UIView的UIKit类(包含UIWindow)都直接间接的继承了UIResponder,这就意味着所有的...=YES & alpha >0.01) 不满足直接返回nil; 通过pointInside:withEvent:方法,检查当前点击是否落在当前view中; 如果点击落在当前view中,遍历subView...再看看另一个特殊的场景: view 2还是view 1的子view;但当一个点击落在view 2的区域内时,查找还是从UIWindow开始,但在view 1的hitTest中就返回了nil,因为点击区域不在

    1.2K90

    史上最详细的iOS之事件的传递和响应机制-原理篇

    *view ; 短时间内点按屏幕的次数,可以根据tapCount判断单击、双击更多的点击 @property(nonatomic,readonly) NSUInteger tapCount; 记录了触摸事件产生变化时的时间...:self]; // 获取上一个点的位置 CGPoint preP = [touch previousLocationInView:self]; // 获取它们x轴的偏移量...总结一下 1.点击一个UIView产生一个触摸事件A,这个触摸事件A会被添加到由UIApplication管理的事件队列中(即,首先接收到事件的是UIApplication)。...所以,不管视图能不能处理事件,只要点击了视图就都会产生事件,关键在于该事件最终是由谁来处理!也就是说,如果蓝色视图不能处理事件,点击蓝色视图产生的触摸事件不会由被点击的视图(蓝色视图)处理!...,则其将事件消息传递给window对象进行处理 3>如果window对象也不处理,则其将事件消息传递给UIApplication对象 4>如果UIApplication也不能处理该事件消息,则将其丢弃

    11K70

    monoTouch开发(1):win7 + vmware下安装mac os

    没有这个无法进入安装,而且安装好以后,也需要这个引导才能进入mac os,迅雷上就能找到)   c、 Mac.OSX.Snow.Leopard.v10.6.2(雪豹10.6)的DMG文件  约6.13G (迅雷apple...点击ok,如果运气好的话,稍等一会儿,应该就能进入mac os的安装界面了 ?...建议安装英文版(因为monoDeveloper跟monoTouch都是英文版的,光操作系统是中文其实意义也不大),剩下的事情地球人都知道了 7、安装完成以后,记得将光驱重新挂回darwin.iso,不然就算安装好了...8、分辨率问题 默认情况下vmware中的mac os在偏好设置里,显示器的分辨率只有1024 * 768,玩不了全屏,这是因为没安装vmware tools,安装方法如下: 点击vmware最右下角的光盘图标...silverlight在firefox下表现良好(mac os下的安装方式很独特,下载以后,直接把dmg文件拖到application里就完事了) 9.3、mono的基本工具(比如monodevelop,monotouch

    1.7K60

    iOS 面试策略之系统框架-UIKit

    如果你正在跳槽或者正准备跳槽不妨动动小手,添加一下咱们的交流群931542608来获取一份详细的大厂面试资料为你的跳槽多添一份保障。...Frame 是基于 xy 坐标轴系统的布局机制。它从数学上限定了 UI 控件的具体位置,是 iOS 开发中最底层、最基本的界面布局机制。 Auto Layout 的性能比 Frame 差很多。...如果你正在跳槽或者正准备跳槽不妨动动小手,添加一下咱们的交流群931542608来获取一份详细的大厂面试资料为你的跳槽多添一份保障。...这个方法主要在屏幕旋转、滑动触摸界面、子视图修改时被触发。...一般我们用上下左右 4 个值来获取 SafeArea 与屏幕边缘之间的距离。

    1.5K20

    iOS点击TableView的cell显示弹出动画

    最近使用豌豆荚一览的app时看到它的点击cell后弹出界面的动画很帅,所以自己琢磨着实现了一个,效果如下: image 仔细观察的话效果分为几个部分,点击cell的时候,首先背景会出现阴影,只有点击的...,所以阴影视图可以直接写一个方法来创建: // 阴影视图 - (UIView *)bgView { if (nil == _bgView) { _bgView = [[UIView...选中后取消选中的颜色 // 详情视图 DetailViewController *detailVC = [[DetailViewController alloc] init]; // 获取选中的区域范围...,范围使用上面获取的范围 self.selectedCell = (BookListCellView *)[self tableView:tableView cellForRowAtIndexPath...要注意的是我们不能直接使用点击到的cell的位置,经测试直接用他的原点会变成(0, 0),也就是出现在左上角,我也不知道为什么,所以这里要先获取对应的区域来更改cell的范围并作为纯白view的范围。

    1.4K10

    记录下UIButton的图文妙用和子控件的优先显示

    1、当在某个地方既需要显示图片,还需要显示文字,另外还要有点击功能的时候,这时按钮是个很好的选择。   按钮中的图片和文字的距离可以自由调整,图片的也可以上下左右翻转。...= [UIColor grayColor]; [self.view addSubview:lineView]; } /** 点击按钮使图片位置翻转 */ - (void)clickButton...下面写了五个橙色背景的按钮作比较:背景图片和按钮尺寸匹配的、背景图片和按钮尺寸偏大偏小的、处理背景图片让背景图片自适应按钮的、不用背景图片使用图层来设置按钮左右圆形的: /** 测试给按钮设置背景图片...[self addBackgroundImgButton]; //添加设置背景图片的按钮 [self testSubControlShowFront]; //测试子控件的优先置后显示...= [UIColor grayColor]; [self.view addSubview:lineView]; } /** 点击按钮使图片位置翻转 */ - (void)clickButton

    1.7K30

    【IOS开发基础系列】UIView专题

    消息或者子视图从接收者视图层次中移除因为它要被添加到其他视图了 3 UIView动画 3.1 概述         UIView视图的动画功能,可以使在更新切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验...beginAnimations: nil context: nil]; //setAnimationCurve来定义动画加速减速方式 [UIView setAnimaitonCurve: UIViewAnimationCurveLinear...那么将在每次设置更改frame的时候自动调用drawRect:。     ...1、若使用UIView绘图,只能在drawRect:方法中获取相应的contextRef并绘图。如果在其他方法中获取获取到一个invalidate的ref并且不能用于画图。...对象获取其所属UIViewController         通过UIView对象获取该对象所属的UIViewController可以使用UIResponder的nextResponder方法获得,UIView

    60330

    touchesBegan 触摸事件

    (nonatomic,readonly,retain) UIView *view; 3)获取短时间内点按屏幕的次数,可以根据tapCount判断单击、双击更多的点击 @property(nonatomic...,readonly) NSUInteger tapCount; 4)获取触摸事件产生变化时的时间,单位是秒 @property(nonatomic,readonly) NSTimeInterval timestamp...:(nullable UIView *)view; 四、UIEvent类 UIEvent:成为事件对象,记录产生的时刻和类型,事件对象中包含于当前多点触摸序列相对应的所有触摸对象,还可以提供与特定视图窗口相关联的触摸对象...UIEventSubtypeRemoteControlBeginSeekingForward = 108, //快进停止【操作:按耳机线控中间按钮两下到了快进的位置松开】 UIEventSubtypeRemoteControlEndSeekingForward = 109, (3)获取触摸产生变化的时间戳...)window; 3)获取指定视图里的触摸点 - (nullable NSSet *)touchesForView:(UIView *)view; 4)获取手势对象 - (nullable

    80520
    领券