抓取第三方广告弹窗里的控件事件-测试成功

由于应用里面添加了弹窗的广告,但是为.a的库文件,出于好奇想抓取弹窗广告内的控件事件,于是写了如下代码测试,成功!

for (id
obj in [[[UIApplication
sharedApplication] keyWindow]
subviews])

{

NSLog(@"Class Name[%s]",
object_getClassName(obj));

NSString * str = [NSString
stringWithFormat:@"%s",object_getClassName(obj)];

if([str isEqualToString:@"UIView"])

{

for (UIView * vv
in [(UIView *)obj
subviews])

{

NSLog(@"UIView = %@",vv);

for (UIView * hh
in vv.subviews)

{

NSLog(@"UIView的子View = %@",hh);

//通过打印hh得知所要获取的控件有tag值,于是根据tag值抓到对应的控件

if(hh.tag ==
1)

{

UIButton * btn = (UIButton *)hh;

NSSet* myActions = [btn
allTargets];

NSEnumerator * mm = [myActions
objectEnumerator];

for (NSString * ss
in mm)

{

NSLog(@"遍历枚举的值: %@",ss);

NSArray * array = [btn actionsForTarget:ss
forControlEvent:UIControlEventTouchUpInside];

SEL sel = NSSelectorFromString(array[0]);

//sel 则为要抓取的控件事件

[ss
performSelector:sel];

}

}

}

}

}

}

时间: 2024-10-31 10:47:50

抓取第三方广告弹窗里的控件事件-测试成功的相关文章

winfrom获取用户控件里的控件对象

如何获取用户控件里的控件对象呢,其实思路也是很简单的, 比如有一个panel 用户控件 里面有许多的其他控件. 那么要找出一个Label控件怎么找呢,好的.现在我们就开始 首先,一个foreach循环获得所有控件. 然后根据类型筛选出这个类型的所有控件.然后就可以用Name来判断了 foreach(var lb in mi_image1.Controls) {    if (lb is Label)    {         Label obj = lb as Label;   //如果把循环改

iOS开发手记 - iOS9.3 UINavigationController添加后不显示storyboard中viewcontroller里的控件的解决方法

我原先是这么做的,通常也是这么做 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. ViewController *firstVC = [[ViewController alloc] init]; UIN

java android布局里的控件值 反射绑定给实体类,实体类绑定给控件,表单提交绑定很有用

注意了:根据实际情况,添加实体里字段的类型,控件类型的判断才可使用.这里控件只有TextView EditText 实体类字段只有String int类型,带值的控件添加tag ,值和实体类的字段值一致 package ice.ui.service; import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import jav

jQuery-UI实现折叠面板里的控件拖曳

因一个项目的需要,需要在前端界面实现在折叠面板里拖曳控件到工作区的功能(类似于Android和MFC的可视化界面开发),于是就开始学起了强大的jQuery,发现里面的jQuery-UI有折叠面板.按钮等控件,但当在折叠面板里拖曳按钮时,按钮的拖曳范围只能是折叠面板内部,不能拖到工作区.所以这里绕了个弯实现了一下: 主要的实现过程是:首先在控件表明生成一个副本,每次拖曳控件的时候拖曳的都是副本,当拖曳完成,即鼠标弹起后,原控件表面就又生成一个副本待下次拖曳.(其他一些细节写在了注释里.) 代码:

【jQuery基础编程】jQuery-UI实现折叠面板里的控件拖曳

因一个项目的需要,需要在前端界面实现在折叠面板里拖曳控件到工作区的功能(类似于Android和MFC的可视化界面开发),于是就开始学起了强大的jQuery,发现里面的jQuery-UI有折叠面板.按钮等控件,但当在折叠面板里拖曳按钮时,按钮的拖曳范围只能是折叠面板内部,不能拖到工作区.所以这里绕了个弯实现了一下: 主要的实现过程是:首先在控件表明生成一个副本,每次拖曳控件的时候拖曳的都是副本,当拖曳完成,即鼠标弹起后,原控件表面就又生成一个副本待下次拖曳.(其他一些细节写在了注释里.) 代码:

swt controls里的控件list

swt controls里的控件list,怎么显示滚动条,并且滚动条自动移动到最下边时,显示最新内容 1 package com.jokul; 2 3 import org.eclipse.swt.widgets.Display; 4 import org.eclipse.swt.widgets.Shell; 5 import org.eclipse.swt.SWT; 6 import org.eclipse.swt.widgets.Label; 7 import org.eclipse.swt

gridview里找到控件

for (int i = 0; i < gvIncomeYG.Rows.Count; i++) { Label lblYG_DYYGSR_BHS = ((Label)gvIncomeYG.Rows[i].Cells[18].FindControl("YG_DYYGSR_BHS")); } YG_DYYGSR_BHS是前台的控件的ID gvIncomeYG是gridview的ID gridview里找到控件

模拟winform里的控件的事件和委托机制

下面的代码是我模块winform的事件机制,一看就懂. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ClassLibrary.事件 { class 模拟控件事件机制 { } public class Form1 { MyButton button1; public Form1() { For

C#控件事件属性大全

C#控件及常用设计整 1.窗体... 1 2.Label 控件... 3 3.TextBox 控件... 4 4.RichTextBox控件... 5 5.NumericUpDown 控件... 7 6.Button 控件... 7 7.GroupBox 控件... 7 8.RadioButton控件... 8 9.CheckBox 控件... 8 10.ListBox 控件... 9 11.ComboBox 控件... 10 12.CheckedListBox 控件... 10 13.Pict