文档章节

UIView的基本属性和方法

Steller
 Steller
发布于 2016/01/14 09:35
字数 1093
阅读 65
收藏 0

与UIView外观相关的属性:

  • backgroundColor:背景颜色

  • hidden属性:是否隐藏

  • alpha属性:透明程度

  • opaque属性:是否不透明

  • clipsToBounds:是否剪裁超出边界的部分

  • layer属性:渲染视图的CA层

设置视图尺寸位置的属性:

  • frame属性:视图相对于窗口的坐标和尺寸

  • bounds属性:视图相对于自己坐标和尺寸

  • center属性:视图的中心点

管理视图层次结构的属性和方法:

  • window属性:视图所在的窗口对象

  • superview属性:当前视图的父视图

  • subviews属性:视图的直接子视图

  • addSubview:方法:添加子视图

  • removeFromSuperview:方法:将视图从父视图中移除

  • bringSubviewToFront:方法:将指定的子视图移到层次的顶层

  • sendSubviewToBack:方法:将指定的子视图放回到层次的底层

  • insertSubview:atIndex:方法:在指定的层次位置插入子视图

  • insertSubview:aboveSubview:方法:在指定的视图层上面添加子视图

  • insertSubview:belowSubview:方法:在指定的视图层下面添加子视图

  • exchangeSubviewAtIndex:withSubviewAtIndex:方法:交换两个子视图的层次

  • isDescendantOfView:方法:判断一个视图是不是另一个视图的子视图

配置视图大小改变时行为的属性和方法:

  • autoresizingMask属性:当父视图改变大小时子视图如何改变

  • autoresizesSubviews属性:是否自动调整子视图大小

  • contentMode属性:视图大小改变时如何呈现其内容

  • sizeToFit方法:调整视图大小以适应其子视图

说明:当父视图的尺寸发生变化时,子视图应该发生怎样的变化可以通过子视图在父视图中的停靠模式来进行设置,对应的属性叫做autoresizingMask,它可能的取值包括 UIViewAutoresizingNone、UIViewAutoresizingFlexibleLeftMargin、UIViewAutoresizingFlexibleWidth、UIViewAutoresizingFlexibleRightMargin、UIViewAutoresizingFlexibleTopMargin、UIViewAutoresizingFlexibleHeight、UIViewAutoresizingFlexibleBottomMargin。如果希望同时满足多个值可以通过按位或运算来实现。

我们来看一个例子:

这里写图片描述

UILabel的使用详解

UILabel的常用属性

  如果上面看到的API让你感到纠结,那么多内容当然不能靠死记啦,大家可以下载一个叫做Dash的工具来查阅文档,它是一个各种API文档的集大成者,除了查阅文档还可以看到相关内容在Google和StackOverflow上的提问,你肯定会喜欢上这个工具的。

这里写图片描述

说明:如果无法连接网络下载需要的文档,可以在其他能够联网的机器上将下载好的离线文档复制出来,到不能联网的机器上直接双击安装文档就可以了。需要注意的是,放置离线文档的目录不能有中文和特殊符号,否则文档无法显示。获取下载和获取离线文档的方式如下图所示。

下载文档的位置:
这里写图片描述

找到离线文档的位置:
这里写图片描述

这里写图片描述

  UILabel的常用属性:

和文本相关的属性:

  • text属性:标签上的文字

  • textColor属性:文字的颜色

  • textAlignment属性:文字的对齐方式

  • font属性:字体

  • lineBreakMode属性:指定如何换行及截断标签上的文字

  • enabled属性:是否允许绘制标签上的文字

和文字大小相关的属性:

  • adjustsFontSizeToFitWidth属性:调整文字大小适应标签宽度

  • adjustsLetterSpacingToFitWidth属性:调整字符间距来适应文字宽度

  • numberOfLines属性:显示的行数,设置成0表示不限制行数

  • minimumScaleFactor属性:最小的伸缩因子

  • minimumFontSize属性:最小字体大小

和阴影效果相关的属性:

  • shadowColor属性:阴影颜色

  • shadowOffset属性:阴影偏移量

  接下来我们为刚才创建的应用程序添加下面的代码来放置一个标签。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor orangeColor];
    [self.window makeKeyAndVisible];

    // 创建标签对象
    UILabel *myLabel = [[UILabel alloc] init];
    // 设置标签的尺寸和坐标
    myLabel.frame = CGRectMake(50, 300, 275, 40);
    // 设置标签的字体
    myLabel.font = [UIFont systemFontOfSize:36];
    // 设置标签的颜色
    myLabel.textColor = [UIColor blueColor];
    // 设置标签的对齐方式
    myLabel.textAlignment = NSTextAlignmentCenter;
    // 设置标签上的文字
    myLabel.text = @"Hello, world!";
    // 将标签添加到窗口上
    [self.window addSubview:myLabel];

    return YES;
}

  应用在模拟器(iPhone 6)上运行效果如下所示:

这里写图片描述


© 著作权归作者所有

上一篇: UITableView
下一篇: UIView详解
Steller
粉丝 1
博文 5
码字总数 8863
作品 0
私信 提问
UIView之userInteractionEnabled属性介绍

属性作用 该属性值为布尔类型,如属性本身的名称所释,该属性决定UIView是否接受并响应用户的交互。 当值设置为NO后,UIView会忽略那些原本应该发生在其自身的诸如touch和keyboard等用户事件...

big军
2013/02/04
0
0
iOS开发-关于自定义控件很值得一看的文章(二)

上一次我们一起做一个多段选择的自定义控件,顺便学习UIView的基本属性和方法。 链式响应原理 先简单普及一下响应链原理,我们可以简单地认为iPhone屏幕就是一个容器,我们看到的各种控件(U...

神补刀
2016/03/19
275
0
iOS开发-关于自定义控件很值得一看的文章(一)

简介 本文将是一个关于Cocoa Touch中UIKit框架的自定义控件系列教程,我们将从基础开始,由浅入深,分析讲解自定义控件的相关知识和技巧。 基础概念,给新人看 基础知识 是系统使用的界面框架...

神补刀
2016/03/19
201
0
#CALayer

一、CALayer与UIView之间不得不说的秘密 在我们学习使用CALayer之前,我们先来回顾下UIView的基础创建和使用。 1、UIView的基本创建创建和设置 首先我们来看看UIView的简单创建和一些简单的设...

落难的青蛙
2016/09/06
5
0
iOS RunTime机制----让catagory能够增加属性

众所周知 catagory 只能给系统已有的类添加方法 不能添加属性。而RunTime 机制 给这种情况下添加属性提供了可能 ,利用runtime机制的objcgetAssociatedObject(self, KEYTAGSTRING) 方法,能够...

冰泪_
2016/06/01
99
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 程序员做噩梦

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 手嶌葵《Kiss The Girl》 《Kiss The Girl》- 手嶌葵 手机党少年们想听歌,请使劲儿戳(这里) @Sharon啊 :今天...

小小编辑
41分钟前
99
6
Another app is currently holding the yum lock; waiting for it to exit...

Another app is currently holding the yum lock; waiting for it to exit... The other application is: PackageKit Memory : 153 M RSS (266 MB VSZ) Started: Thu Jul 12 00:03......

圣洁之子
49分钟前
2
0
FastDateFormat 研究

FastDateFormat 对缓存的利用,其实就是用ConcurrentHashMap 做了一个map类型的缓存 public F getInstance(final String pattern, TimeZone timeZone, Locale locale) { Validate......

暗中观察
今天
3
0
Android双向绑定原理简述

Android双向绑定原理简述 双向绑定涉及两个部分,即将业务状态的变化传递给UI,以及将用户输入信息传递给业务模型。 首先我们来看业务状态是如何传递给UI的。开启dataBinding后,编译器为布局...

tommwq
今天
4
0
Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部