IOS开发之UIView的基本使用
一.视图
1. iphone手机上的窗口就是UIWindow类的一个实例(1个手机应用只有一个UIWindow)。
2.UIView类用于实现视图。
UIView提供了方法来添加和删除子视图。一个视图可以有多个子视图,这些子视图按照顺序放在父窗口下:
-(void) addSubview:(UIView *)view;//添加子视图
-(void) removeFromSuperview;//从父窗口上删除子视图(自己)
-(void) insertSubview:(UIView *)view atIndex:(int)index;//按照顺序添加子视图
-(void) insertSubview:(UIView *)view belowSubview:(UIView *)view;
-(void) insertSubview:(UIView *)view belowSubview:(UIView *)view;
-(void) insertSubview:(UIView *)view belowSubview:(UIView *)view;
-(void) exchangeSubviewAtIndex:(int) indexwithSubviewAtIndex:(int)otherIndex;
3.视图结构的相关函数
CGPointMake(x,y) CGPoint point=CGPointMake(50.0,50.0);
声明位置的信息 point.x=50.0;
point.y=50.0;
CGSizeMake(width,height)
声明大小的信息 CGSize size=CGSizeMake(200.0,100.0);
size.width=200.0;
size.height=200.0;
CGRectMake(x,y,width,height) CGRect rect=CGRectMake(50.0,50.0,200.0,200.0)
声明位置和大小信息 rect.origin.x=50.0;
rect.size.width=200.0;
4.Frame和Bound
视图的大小和位置用两种方式表示。一种方式是Frame(框架),即以其父视图为起点,得出它自己的信息。另一种方式是Bound(界限),即以它自己为起点,得到其位置。
其实,系统内部存放的是图的中心点位置和大小信息。Frame方式的信息是按照中心点位置计算出来的。当我们创建一个视图的时,我们往往采用Frame方式。当我们旋转一个视图或者处理视图事件时,我们大多采用Bound方式。
曾经被面试官问过这个问题,当时概念很模糊,被面试官嗤笑了,呵呵!Frame和Bound的区别?这下清楚了吧。
IOS开发之UIView的基本使用的更多相关文章
- ios开发之UIView和UIViewController
UIView 表示屏幕上的一块矩形区域,负责渲染区域的内容,并且响应该区域内发生的触摸事件.它在 iOS App 中占有绝对重要的地位,因为 iOS 中几乎所有可视化控件都是 UIView 的子类. ...
- ios开发之UIView的frame、bounds跟center属性的区别(附图)
博文暂时想到什么写什么,不顺理成章,不顺章成篇. 先看几个概念 坐标点Poit:向右侧为X轴正方向的值x,原点下侧为Y轴正方向的值y 大小Size:由宽度width和高度height构成,表示一个矩形 ...
- IOS开发之UIView总结
如果想调用某个类的某个方法可以写成这样,这个方法来自NSObject类 performSelector: performSelector:withObject: performSelector:wit ...
- iOS开发之UIView的常见属性
1.所有控件都继承自UIView,UIView的常见属性如下: @property(nonatomic,readonly) UIView *superview;获得自己的父控件对象 @property ...
- IOS开发之UIView总结1
太长了,请看 http://blog.csdn.net/xdrt81y/article/details/9128695 performSelector: performSelector:withObj ...
- iOS开发之UIView
在iPhone里你能看到的.摸到的,都是UIView. 视图坐标系统: UIKit中的坐标都是基于这样的坐标系统:以左上角为坐标的原点,原点向下和向右为坐标轴方向. 坐标值由浮点数来表示,内容的布局和 ...
- iOS开发之UISearchBar初探
iOS开发之UISearchBar初探 UISearchBar也是iOS开发常用控件之一,点进去看看里面的属性barStyle.text.placeholder等等.但是这些属性显然不足矣满足我们的开 ...
- iOS开发之loadView、viewDidLoad及viewDidUnload的关系
iOS开发之loadView.viewDidLoad及viewDidUnload的关系 iOS开发之loadView.viewDidLoad及viewDidUnload的关系 标题中所说的3个方 ...
- IOS开发之ZBarReaderView的使用
IOS开发之ZBarReaderView的使用 HOMEABOUTGUESTBOOKCATEGORIESTAGSLINKSSUBSCRIBE 当开发IOS程序中需要用到二维码识别功能的时候,zbar这 ...
随机推荐
- 数据结构——表(list)
#include <iostream> #include <list> using namespace std; 标准类的存储方式为双向循环链表 list类 class lis ...
- 解惑:NFC手机怎样轻松读取银行卡信息?
自支付宝钱包8.0推出了NFC新功能,仅仅要将支持NFC功能的手机靠近公交卡.银行卡等带有芯片的IC卡上,可迅速读取卡内剩余金额.卡的信息,还能够给卡进行充值,很贴心有用. 可是非常多网友表示担忧,要 ...
- EntityFramework经典的left join语法
/* * 常常看到有人问linq语法怎样写left join的查询语句,但网上找到的都是简单的两表连接.參考意义有限. * 今天最终项目里要用到复杂的多表连接,同一时候含有多个左连接, * 恰好 ...
- android音乐柱状频谱实现
from: http://blog.csdn.net/topgun38/article/details/7663849 原文地址:http://blog.csdn.net/caryee89/artic ...
- 【Eclipse】Tomcat 一直处于starting状态,项目却已成功启动
是因为Eclipse里面设置了代理.preference-network connections-activity provider-direct-应用.重启tomcat即可.
- Windows(64位IIS)未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
在Windows 7(32位)用.Net开发的Excel导入数据表功能,测试后一切正常,站点发布挪到Windows Server 2008(64位)上就意外了,出现错误提示,运行程序,抛出异常:未在本 ...
- Python之路 Day12
day12主要内容:html基础.CSS基础 HTML HTML概述: HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标 ...
- 【集训笔记】博弈论相关知识【HDOJ 1850【HDOJ2147
以下资料来自:http://blog.csdn.net/Dinosoft/article/details/6795700 http://qianmacao.blog.163.com/blog/stat ...
- Chapter 3.单一职责原则
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因. 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力,就等于把这些职责耦合在一起, ...
- ASP.NET MVC进阶之路:深入理解Controller激活机制并使用Ioc容器创建对象
本文标题说是"深入理解Controller"其实有点“标题党”的味道了.本篇只会探讨"Controller"的激活机制,也就是如何创建Controller的并调 ...