http://blog.csdn.net/lxp1021/article/details/43952551

今天在开发OS界面的时候,遇到通过界面UIview viewWithTag:(int)findTag选择器定位界面元素的问题,以下把在界面中给元素打Tag,以及通过选择器查找界面元素的代码贴出来,供以后使用:

界面元素打tag

  1. //事件监听的问题
  2. CGRect btn2Frame = CGRectMake(100.0, 150.0, 60.0, 44.0);
  3. //两种不同的方式创建
  4. UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  5. btn2.frame =btn2Frame;
  6. //设置Title
  7. [btn2 setTitle:@"BTN2" forState:UIControlStateNormal];
  8. [btn2 setTag:10001];
  9. //[btn2 setBackgroundImage:[UIImage imageNamed:@"pic.png"] forState:UIControlStateNormal];
  10. [btn2 setBackgroundColor:[UIColor blueColor]];
  11. [btn2 addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside];
  12. [self.view addSubview:btn2];
  13. //事件监听的问题
  14. CGRect btn1Frame = CGRectMake(200.0, 150.0, 60.0, 44.0);
  15. //两种不同的方式创建
  16. UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  17. btn1.frame =btn1Frame;
  18. //设置Title
  19. [btn1 setTitle:@"BTN1" forState:UIControlStateNormal];
  20. [btn1 setTag:10002];
  21. //[btn2 setBackgroundImage:[UIImage imageNamed:@"pic.png"] forState:UIControlStateNormal];
  22. [btn1 setBackgroundColor:[UIColor blueColor]];
  23. [btn1 addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside];
  24. [self.view addSubview:btn1];
  25. CGRect workingFrame;
  26. workingFrame.origin.x = 15;
  27. workingFrame.origin.y = 400;
  28. workingFrame.size.width = 140;
  29. workingFrame.size.height = 40;
  30. for(int i = 0; i < 6; i++)
  31. {
  32. //UIView *myView = [[UIView alloc] initWithFrame:workingFrame];
  33. UIButton *myView =[[UIButton alloc] initWithFrame:workingFrame];
  34. [myView setTag:i];//标记方块
  35. [myView setBackgroundColor:[UIColor blueColor]];
  36. // NSString tit = "Button"i;
  37. //NSLog(@"this is Button %d", i);
  38. [myView setTitle:@"Button %d" forState:UIControlStateNormal];
  39. workingFrame.origin.x = workingFrame.origin.x + workingFrame.size.width + 10;
  40. [myView addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside];
  41. [self.view addSubview:myView];
  42. }

在方法中使用tag选择器定位元素:

    1. -(void)btnPressed:(id)sender{
    2. UIButton *thisBtn = (UIButton*)sender;
    3. //thisBtn.hidden = YES;
    4. //self.view viewWithTag:[00002];
    5. UIButton *myButton = (UIButton *)[self.view viewWithTag:(10002)];
    6. myButton.hidden = YES;
    7. NSLog(@"this button tag is %d",thisBtn.tag);
    8. //NSLog(@"self.view subViews %@",self.view.subviews);
    9. //    UIButton* thisBtn = (UIButton *)sender;
    10. //    [[[UIAlertView alloc] initWithTitle:@"Button" message:[NSString stringWithFormat: @"This is button:%@",thisBtn] delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil] show];
    11. //    NSLog(@"this tag is %d",btn.tag);
    12. }

【iOS开发】IOS界面开发使用viewWithTag:(int)findTag方法获取界面元素的更多相关文章

  1. iOS控件——UIView的viewWithTag:(int)findTag方法描述

    UIView拥有一个viewWithTag:(int)findTag方法,调用方式为[MyView viewWithTag:整形数字]该方法返回tag == findTag的控件.ios控件中允许多个 ...

  2. 使用MonoTouch.Dialog简化iOS界面开发

    MonoTouch.Dialog简称MT.D,是Xamarin.iOS的一个RAD工具包.它提供易于使用的声明式API,不需要使用导航控制器.表格等ViewController来定义复杂的应用程序UI ...

  3. iOS界面开发

    [转载] iOS界面开发 发布于:2014-07-29 11:49阅读数:13399 iOS 8 和 OS X 10.10 中一个被强调了多次的主题就是大一统,Apple 希望通过 Hand-off ...

  4. iOS 界面开发

    iOS 自动布局 iOS 界面 之 EALayout 无需反复编译,可视化实时界面,告别Storyboard AutoLayout Xib等等烦人的工具 iOS应用国际化教程(2014版) iOS开发 ...

  5. iOS开发之如何跳到系统设置里的各种设置界面

    跳到更多设置界面 除了跳到WiFi设置界面,能不能跳到其他的设置界面呢?比如:定位服务.FaceTime.音乐等等.都是可以的,一起来看看如何实现的! 定位服务 定位服务有很多APP都有,如果用户关闭 ...

  6. iOS开发系列--网络开发

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  7. 《转》iOS音频视频初级开发

    代码改变世界 Posts - 73, Articles - 0, Comments - 1539 Cnblogs Dashboard Logout HOME CONTACT GALLERY RSS   ...

  8. Swift开发iOS应用过程中的问题和解决记录

    虚拟机里安装OSX+XCode开发环境 用真机的请直接跳过这个部分. 主要是在VitrualBox里安装mac系统和xcode,参考这篇教程,VirtualBox的版本是4.3.18 r96156,O ...

  9. Xamarin体验:使用C#开发iOS/Android应用

    Xamarin是Mono创始人Miguel de Icaza创建的公司,旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发.   简介 Xamarin是基于Mo ...

随机推荐

  1. 菜鸟崛起 DB Chapter 1 数据库概述

    1. 数据库的概述 在目前阶段,如果要存储和管理数据,则离不开数据库.当数据存储到数据库后,就会通过数据库管理系统对这些数据进行组织和管理.数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据 ...

  2. Angularjs基础(二)

    AngularJS 表达式 AngularJS 表达式写在双大括号内:{{expression}} AngularJS 表达式把数据绑定到HTML,这与ng-bind 指令有异曲同工之妙 Angula ...

  3. Web前端几种常见的实现水平垂直居中的方法

    第一种: 父容器不设置宽度,用定位实现水平垂直居中. <!DOCTYPE html> <html lang="en"> <head> <m ...

  4. WebGL学习笔记(3)

    根据上篇笔记,在对3D对象可进行普通的控制后,以及学习了http://hiwebgl.com的教程第10章内容:世界模型的载入以及控制镜头移动,经过多次调试矩阵代码,已经可以实现在世界中旋转镜头/控制 ...

  5. VMware ESXi-6.7——使用

    1: 上传ISO文件 1.1:创建一个新目录,上传ISO 1.2: 在新建虚拟机时,点击DVD,选择数据ISO文件,选择要安装的ISO文件.并把连接打钩. 2:新建虚拟机 按照需求填写 硬盘的三种置备 ...

  6. Co. - VMware - vSphere

    VMware vSphere 组件 VMware vSphere是VMware推出的基于云计算的新一代数据中心虚拟化套件,它由VMware ESXi.VMware vCenter Server.VMw ...

  7. SAPの販売管理で、価格設定をするまでの関連カスタマイズ画面

    この記事ではSAP SDで.価格を決めるまでに必要な設定画面について述べています. condition table (条件テーブル) 条件レコードのキー項目を定義したもの.3桁の数字で名前がついている ...

  8. Scala Tuple

    Python中的Tuple 元组将多样的对象集合到一起,元素不能修改,通过索引进行查找, 使用括号"()" 允许重复 Scala中的Tuple 概念跟Python是完全相同的 定义 ...

  9. VS2017发布微服务到docker

    1.本文档以eShopOnContainers.sevices.identity为描述对象,并包含docker for windows的部分配置流程. 2.前置环境:win10操作系统.安装VS201 ...

  10. P1823 音乐会的等待(单调栈)

    P1823 音乐会的等待 题目描述 N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A和B,如果他们是相邻或他们之间没有人比A或B高,那么 ...