IOS 读取xib里的子控件
interface ViewController ()
/**获取.plist数据*/
@property (nonatomic,strong) NSArray *aps; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; //九宫格的总列数
int totalColumns=; //1.1个格子的尺寸
CGFloat appW=;
CGFloat appH=; //2.计算间隙 =(控制器view的宽度 -5*应用宽度)/应用宽度+1
CGFloat marginX=(self.view.frame.size.width-totalColumns*appW)/(totalColumns+);
CGFloat marginY=;
//3.要的应用个数创建对应的格子 for (int index=; index<self.aps.count; index++)
{
NSBundle *bundle=[NSBundle mainBundle];
//读取xib文件(会创建AppsView.xib中的描述的所有对象。并且按顺序放到数组中返回)
NSArray *objs=[bundle loadNibNamed:@"AppsView" owner:nil options:nil];
UIView *appView=[objs lastObject]; //添加view
[self.view addSubview:appView]; //设置frame
int row=index/ totalColumns; int col=index% totalColumns; //计算x和y CGFloat appx=marginX+col*(appW+marginX);
CGFloat appY=marginY+row *(appH + marginY);
appView.frame=CGRectMake(appx, appY, appW, appH);
//设置数据
Apps *app=self.aps[index]; //设置图片(xib中的appView取子控件 UIImageView) // UIImageView *iconView=appView.subviews[0]; //方式1
UIImageView *iconView=(UIImageView *)[appView viewWithTag:];//方式2
iconView.image=[UIImage imageNamed:app.icon]; //设置名称(xib中的appView取子控件 UILabel) // UILabel *nameLabel=appView.subviews[1];//方式1 UILabel *nameLabel=(UILabel *)[appView viewWithTag:];//方式2
nameLabel.text=app.name;
} }
IOS 读取xib里的子控件的更多相关文章
- iOS 设置视图半透明而子控件不透明
用一张半透明的图片做背景 使用colorWithWhite:alpha:方法 white后面的参数表示灰度,从0-1之间表示从黑到白的变化,alpha就是你想调整的透明度 bgView.backgr ...
- WPF silverlight获取子控件(获取DataTemplate里的子控件)
public static class VisualTreeExtensions { /// <summary> /// 获取父节点控件 /// </summary> /// ...
- iOS开发实现UIView随着子控件的高度的变化而变化
例子 其实看完上面的叙述,你会思考,到底什么情况下,一个UIView需要只设置坐标不设置大小呢?其实这种场景相当普遍.比如,我们常常会碰到,一个View中有两个Label,两个Label的高度均和内容 ...
- 五种情况下会刷新控件状态(刷新所有子FWinControls的显示)——从DFM读取数据时、新增加子控件时、重新创建当前控件的句柄时、设置父控件时、显示状态被改变时
五种情况下会刷新控件状态(刷新控件状态才能刷新所有子FWinControls的显示): 在TWinControls.PaintControls中,对所有FWinControls只是重绘了边框,而没有整 ...
- iOS: 获取UITableViewCell上添加的子控件对应的cell
一.简单介绍 UITableViewCell是UITableView的核心部分,我们在开发中因为功能的扩展经常需要自定义,以便在其上面添加子控件,例如button.label等.添加后获取这些子控件的 ...
- 2、IOS开发--iPad之仿制QQ空间 (初始化HomeViewController子控件视图)
1.先初始化侧边的duck,效果图: 实现步骤: 2.然后初始化BottomMenu,效果: 步骤: 其实到这里,会出现一个小bug,那就是: 子控件的位置移高了,主要原因是: 逻辑分析图: 问题解决 ...
- iOS开发小技巧--UIScrollView内部子控件添加约束的注意点
注意:用UIScrollView时布局子控件的时候,不要相对于UIScrollView来添加约束,这样做不是设置子控件的位置,反而是设置了UIScrollView的contentSize 子控件的尺寸 ...
- 记录下帮助一位网友解决的关于android子控件的onTouch或onClick和父OnTouch 冲突的问题。
前三天收到位网友的私信求助,问题大概如标题所示.具体是下面的情况,个人感觉,这个问题挺有趣,也会在实际项目开发中很常见.不想看前奏的请直接跳至解决方法. 问题原型: 父控件是自定义的 LinearLa ...
- ParentWindow属性及其一系列函数的作用——适合于那些不需要父控件管理内存释放的子控件
TWinControl = class(TControl) property ParentWindow: HWnd read FParentWindow write SetParentWindow; ...
随机推荐
- form组件之modelForm
modelForm的使用及参数设置 从modelForm这个名字就能看出来,这个form是和模型类model有知己诶关联的,还是以数和出版社的模型来说明: models.py(模型) from dja ...
- django 请求体和请求体相关知识
请求头ContentType ContentType指的是请求体的编码类型,常见的类型共有3种: django 如果发送post请求,或者表单提交数据.如果不设置enctype属性. 就会以appli ...
- ansible部署,规划
部署管理服务器 第一步:先检查有没有ssh服务 [root@iZm5eeyc1al5vzh8bo57zyZ ~]# rpm -qf /etc/init.d/sshd openssh-server-5. ...
- jdk collections map类图
- Sequelize Docs 中文文档 v4
Sequelize Docs 中文文档 v4 写在前面 Sequelize 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Mi ...
- C# 利用ADO.NET导出大批量数据
2015年12月,XX项目中需要做一个数据导出功能,当时所有页面的到处功能均已经实现,但有个页面数据量太大,导出过程中导出页面直接卡死.不得已我准备选用ADO.NET来重新完成这个功能,因为考虑到越偏 ...
- Unity 平台宏定义
官方文档: https://docs.unity3d.com/Manual/PlatformDependentCompilation.html
- 那些经历过的Bug Unity的Invoke方法
有一个游戏对象,上面挂着 3 个脚本,如下: using System.Collections; using System.Collections.Generic; using UnityEngine ...
- PHP会话管理
Session使用 在每个页面中使用session之前,必须使用session_start() 在每个session中都可以使用$_SESSION这个全局数组,在页面必须调用session_start ...
- Oracle PL/SQL 实现excel PMT函数、PPMT函数
PMT函数 1.每月本息金额 = (本金×月利率×(1+月利率)^还款月数)÷ ((1+月利率)^还款月数-1) ,in_financeAmount in number) return number ...