8、关于viewWithTag

1、viewWithTag检索tag的方法问题
viewWithTag方法会对当前View和其子View进行搜索,查找符合tag的对象,但如果view和其多个子view中都含有相同tag值对象时,该方法会搜出哪一个呢?通过查找实验发现,ViewWithTag: 返回第一个和给定tag相等的subview。这就导致了一个当一个view的多个subview的tag相同的时候,我们通过该方法得到的view可能并不是自己想要的。

2、给View设置的tag数不要太小
对于tag值苹果将0-100留为自己使用。正如当使用[self viewWithTag:0]取View时得到的是View本身,因为tag值为0被苹果保留给自己View了。所以在设置子view的Tag值时,需要注意不要使用数值较小的Tag值,使用时建议加一个定值,可以有效避免因为tag值太小,而取到系统保留的view.

时间: 2024-10-14 00:55:03

8、关于viewWithTag的相关文章

关于viewWithTag的一点说明

通常我们使用viewWithTag如下情形: 如果我们用了一个父View,上面放了多个子view, 每个子view都通过从0开始的Tag值来进行标志,以便于后期在像View上直接使用viewWithTag:tag值来取各个子View 而在用[父view viewWithTag:0]取到的view, 发现不是子view, 而是这个父view, 后来才想起苹果文档上提到过一次,tag值较小的,如0-100为苹果保留使用, 而0就是保留着给自己这个view使用的. 对于其它的view, 如scroll

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

UIView拥有一个viewWithTag:(int)findTag方法,调用方式为[MyView viewWithTag:整形数字]该方法返回tag == findTag的控件.ios控件中允许多个控件的tag相同,该方法实现步骤如下: 1.如果MyView的tag值等于需要寻找的tag值,则返回MyView本身: 2.如果MyView的tag值不等于需要寻找的tag值,则查找MyView的子控件,即遍历MyView.subviews数组: 3.遍历MyView.subviews数组时,返回第

【iOS开发-43】万能的transform注意事项,以及viewWithTag以及.png后缀可以省略的一些知识

注意事项: (1)图片如果是png格式的话,在代码中可以省略后缀. (2)可以给控件一个tag值,然后用viewWithTag获取这个控件. (3)transform的上下左右移动是按照它的上下左右边框垂直的方向移动的,即如果你把控件旋转了,那么上下左右就不是传统的上下左右,而是斜着的上下左右. (4)transform可以实现上下左右旋转缩放等效果,但它是相对于一个位置而言的,如果相对位置不变,则相当于只生效一次,而如果每次都把改变后的位置重新设置为新的相对位置,则每次都会生效.即代码中,有两

iOS,viewWithTag搜索机制

好久没写东西了.废话不多说. 正式开始 iOS中获取一个想要的view的引用有很多方法,其中有一种是利用 viewWithTag:(NSInteger),填写tag即可获取tag. 看到方法时,我们很自然的想到,这个tag是类似uuid的东西,不同的view写入不同的tag,之后通过tag获得对应的view. 但是tag是我们自己手动添加的,如果有两个view的tag相同,我们通过viewWithTag获取的view到底是哪一个view呢? 要获得答案,我也没太想翻文档,觉得试验一下就好. (由

IOS 读取xib里的子控件

interface ViewController () /**获取.plist数据*/ @property (nonatomic,strong) NSArray *aps; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //九宫格的总列数 int totalColumns=5; //1.1个格子的尺寸 CGFloat appW=50; CGFloat appH=60; //2.计算间隙

Swift - 用UIScrollView实现视差动画效果

效果 源码 https://github.com/YouXianMing/Swift-Animations // // MoreInfoView.swift // Swift-Animations // // Created by YouXianMing on 16/8/18. // Copyright © 2016年 YouXianMing. All rights reserved. // import UIKit class MoreInfoView: UIView { var imageV

IOS TableView详解

一.建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)]; [DataTable setDelegate:self]; [DataTable setDataSource:self]; [self.view addSubview:DataTable]; [DataTable release]; 二.UITableView各Method说明 //Section总数 - (NS

xib的简单使用

一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: Xib是轻量级的,用来描述局部的UI界面 Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立view模型(设置长宽等参数) 调整布局和

0130——UIScrollView

1.contentSize幕布实际大小决定滚动的方向,如果小于图片本身不滚动,默认也是不滚动 view.contentSize = CGSizeMake(1280, 200); 而frame只是用来显示UIScrollView的显示区域的大小用户看的到的. 2.页面效果,图片不可以停留在两张图中间 sview.pagingEnabled = YES; 3.是否有横向竖向滚动条,滚动条的样式黑色白色 sview.showsHorizontalScrollIndicator = NO; sview.