iOS开发UI篇-常用控件详解(UIView)

2016-07-20  本文已影响250人  willphonez

一. 常用属性


  view.alpha = 0;// 完全透明
 view.alpha = 1;// 不透明```
- 2.clipsToBounds默认是NO,当设置为yes时,超出当前视图的尺寸的内容和子视图不会显示。
- 3.hidden 默认是NO,当设置为yes,视图就看不见了。

- 4.userInteractionEnabled 默认为YES,如果设置为No,view就不能和用户交互了。(即不能响应事件)
- 5.tag
 默认为0,用来标记视图的
- 6.exclusiveTouch默认为No,exclusiveTouch的意义在于:如果当前设置了exclusiveTouch的UIView是整个触摸事件的第一响应者,那么到你所有的手指离开屏幕前其他的UIView是无法接受到整个事件周期内所有的触摸事件。
- 7.CGRect frame
 - 1> 表示控件的位置和尺寸(以父控件的左上角为坐标原点(0, 0))
 - 2> 修改这个属性,可以调整控件的位置和尺寸
- 8.CGPoint center
 - 1> 表示控件的中点(以父控件的左上角为坐标原点)
 - 2> 修改这个属性,可以调整控件的位置

- 9.CGRect bounds
  - 1> 表示控件的位置和尺寸(以自己的左上角位坐标原点,位置永远是(0, 0))
  - 2> 修改这个属性,只能调整控件的尺寸 
- 10.CGAffineTransform transform
  - 1> 表示控件的形变状态(旋转角度、缩放比例)
  - 2> 创建CGAffineTransform的函数
  * CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)
创建一个x、y方向的缩放比例分别为sx、sy的形变值

  * CGAffineTransformMakeRotation(CGFloat angle)
创建一个旋转角度为angle的形变值

  * CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy)
在形变值t的基础上,再进行缩放,x、y方向的缩放比例分别为sx、sy,然后返回一个新的形变值

  * CGAffineTransformRotate(CGAffineTransform t, CGFloat angle)
在形变值t的基础上,再进行旋转,旋转角度为angle,然后返回一个新的形变值
- 11.superview返回当前视图的父视图。(只读)
- 12.window返回当前视图的窗口。(窗口)

获取根视图的superview和window时,`需要注意,在viewdidload中是获取不到的,viewdidload只是视图加载完成,并没有添加到窗口中,因此需要在viewDidAppear方法中才能获取到。那时候视图才被添加到窗口中。`
```objc
- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"%@",self.view.superview); // 没有值
    NSLog(@"%@", self.view.window); // 没有值
}
- (void)viewDidAppear:(BOOL)animated
{
    NSLog(@"%@",self.view.superview); // 有值
    NSLog(@"%@", self.view.window);  // 有值
}

二. 常用方法


三. 其他(绘图相关方法)


 - (void)drawAtPoint: (CGPoint)point;```

- 2、drawAtPoint:blendMode: alpha::在 Point这个点,以某种模式绘图。
```objc
 - (void)drawAtPoint: (CGPoint)point blendMode: (CGBlendMode)blendMode alpha: (CGFloat)alpha;```

- 3、drawInRect::mode = kCGBlendModeNormal, alpha = 1.0。在某个具体位置进行绘图。
```objc
 - (void)drawInRect: (CGRect)rect;```

- 4、drawInRect: blendMode:alpha::在某个具体位置,以某种模式,某种透明度进行绘图。
```objc
 - (void)drawInRect: (CGRect)rect blendMode: (CGBlendMode)blendMode alpha: (CGFloat)alpha;```

- 5、drawAsPatternInRect::draws the image as a CGPattern.在某个具体位置平铺图像。
```objc
 - (void)drawAsPatternInRect: (CGRect)rect;```

- 6、resizableImageWithCapInsets::创建并返回一个指定边距的图像对象。
```objc
 - (UIImage *)resizableImageWithCapInsets: (UIEdgeInsets)capInsets;```

- 7、resizableImageWithCapInsets:resizingMode::创建并返回一个指定边距和伸缩模式的图片对象。
```objc
 - (UIImage *)resizableImageWithCapInsets: (UIEdgeInsets)capInsets resizingMode: (UIImageResizingMode)resizingMode NS_AVAILABLE_IOS(6_0);```

- 8、imageWithAlignmentRectInsets::返回一个指定了对齐方式的图片,一个新的图片对象。
 ```objc
 - (UIImage *)imageWithAlignmentRectInsets: (UIEdgeInsets)alignmentInsets NS_AVAILABLE_IOS(6_0);```

- 9、imageWithRenderingMode::根据渲染模式,创建一并返回一个新的图片对象
```objc
 - (UIImage *)imageWithRenderingMode: (UIImageRenderingMode)renderingMode NS_AVAILABLE_IOS(7_0);```

- 10、imageFlippedForRightToLeftLayoutDirection::返回当前图片,准备水平旋转时,它会从右向左布局。
```objc
 - (UIImage *)imageFlippedForRightToLeftLayoutDirection NS_AVAILABLE_IOS(9_0);```
上一篇 下一篇

猜你喜欢

热点阅读