UIView的常用方法
- 获取父/子控件
@property(nonatomic,readonly) UIView *superview;
获得自己的父控件对象@property(nonatomic,readonly,copy) NSArray *subviews;
获得自己的所有子控件对象@property(nonatomic) NSInteger tag;
控件的ID(标识),父控件可以通过tag来找到对应的子控件。@property(nonatomic) CGAffineTransform transform;
控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
- 添加删除控件
- (void)addSubview:(UIView *) view;
添加一个子控件view- (void)removeFromSuperview;
从父控件中移除- (UIView *)viewWithTag:(NSInteger)tag;
根据一个tag标识找出对应的控件(一般都是子控件)
- 控件的位置
@property(nonatomic) CGRect frame;
控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)@property(nonatomic) CGRect bounds;
控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)@property(nonatomic) CGPoint center;
控件中点的位置(以父控件的左上角为坐标原点)
-
UIImageView的常用属性
@property(nonatomic,retain) UIImage *image;
显示的图片@property(nonatomic,copy) NSArray *animationImages;
显示的动画图片@property(nonatomic) NSTimeInterval animationDuration;
动画图片的持续时间@property(nonatomic) NSInteger animationRepeatCount;
动画的播放次数(默认是0,代表无限播放)
-
动画
- (void)startAnimating;
开始动画- (void)stopAnimating;
停止动画- (BOOL)isAnimating;
是否正在执行动画
-
contentMode属性
- 带有scale单词的:图片有可能会拉伸
- UIViewContentModeScaleToFill
- 将图片拉伸至填充整个imageView
- 图片显示的尺寸跟imageView的尺寸是一样的
- UIViewContentModeScaleToFill
-
带有aspect单词的:保持图片原来的宽高比
- UIViewContentModeScaleAspectFit
- 保证刚好能看到图片的全部
- UIViewContentModeScaleAspectFill
- 拉伸至图片的宽度或者高度跟imageView一样
- UIViewContentModeScaleAspectFit
-
没有scale单词的:图片绝对不会被拉伸,保持图片的原尺寸
- UIViewContentModeCenter
- UIViewContentModeTop
- UIViewContentModeBottom
- UIViewContentModeLeft
- UIViewContentModeRight
- UIViewContentModeTopLeft
- UIViewContentModeTopRight
- UIViewContentModeBottomLeft
- UIViewContentModeBottomRight
- 带有scale单词的:图片有可能会拉伸
-
initWithImage:方法
- 利用这个方法创建出来的imageView的尺寸和传入的图片尺寸一样
-
延迟调用方法
[abc performSelector:@selector(stand:) withObject:@"123" afterDelay:10]; //10s后自动调用abc的stand:方法,并且传递@"123"参数 makeObjectsPerformSelector 让数组中所有对象都执行者个方法
-
常见属性
@property(nonatomic,copy) NSString *text;
显示的文字@property(nonatomic,retain) UIFont *font;
字体@property(nonatomic,retain) UIColor *textColor;
文字颜色@property(nonatomic) NSTextAlignment textAlignment;
对齐模式(比如左对齐、居中对齐、右对齐)@property(nonatomic) NSInteger numberOfLines;
文字行数@property(nonatomic) NSLineBreakMode lineBreakMode;
换行模式
-
UIFont 常用方法
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;
系统默认字体+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;
粗体+ (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;
斜体
-
UILabel实现包裹内容
- 设置宽度约束为 {100, 100}, {200, 200}};=60@700)] wideView宽度大于等于60point,该约束条件优先级为700(优先级最大值为1000,优先级越高的约束越先被满足) V:[redBox][yellowBox(==redBox)] 竖直方向上,先有一个redBox,其下方紧接一个高度等于redBox高度的yellowBox H:|-10-[Find]-[FindNext]-[FindField(>=20)]-| 水平方向上,Find距离父view左边缘默认间隔宽度, 之后是FindNext距离Find间隔默认宽度;再之后是宽度不小于20的FindField它和FindNext以及父view右边缘的间距都是默认宽度。 竖线“|”表示superview的边缘
-
使用VFL来创建约束数组
+ (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDictionary *)metrics views:(NSDictionary *)views; format :VFL语句 opts :约束类型 metrics :VFL语句中用到的具体数值 views :VFL语句中用到的控件
- 创建一个字典(内部包含VFL语句中用到的控件)的快捷宏定义
NSDictionaryOfVariableBindings(...)
- 创建一个字典(内部包含VFL语句中用到的控件)的快捷宏定义