前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IOS移动开发从入门到精通 视图UIView、层CALayer(1)

IOS移动开发从入门到精通 视图UIView、层CALayer(1)

作者头像
用户5760343
发布2019-07-05 11:07:01
7490
发布2019-07-05 11:07:01
举报
文章被收录于专栏:sktjsktj

UIView是UIKit框架里面最基础的视图类。UIView类定义了一个矩形的区域,并管理该矩形区域内的所有屏幕显示。

控件

image.png

1个UIWindow 或 UIView 1、设置背景色 import UIKit class ViewController:UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. let view = UIView(frame:CGRect(x:40, y:80,width:240, height:240)) view.backgroundColor = UIColor.black view.clipsToBounds=true self.view.addSubview(view) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }

以图片做背景

let view = UIView(frame:CGRect(x:40, y:80,width:240, height:240)) let image = UIImage(named:“Sample”) view.backgroundColor = UIColor.init(patternImage:image!) self.view.addSubview(view)

修改不透明度 view.alpha = 0.3

是否隐藏 view.isHidden=true

是否交互 userInteractionEnabled

设置边框:

view.layer.borderWidth = 20 view.layer.borderColor = UIColor.lightGray.cgColor

设置阴影:

view.layer.shadowColor = UIColor.black.cgColor view.layer.shadowOffset = CGSize(width:10.0,height:10.0) view.layer.shadowOpacity = 0.45 view.layer.shadowRadius = 5.0

设置圆角:view.layer.cornerRadius = 40

捕获用户触摸事件UITapGestureRecognizer(taget:self,action:#selector(ViewController.SingleTap))

import UIKit class ViewController:UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. let touchView = UIView(frame:CGRect(x:60, y:60,width:200, height:200)) touchView.backgroundColor = UIColor.black self.view.addSubview(touchView) let guesture = UITapGestureRecognizer(target:self,action:#selector(ViewController.SingleTap)) touchView.addGestureRecognizer(guesture) } func SingleTap() { print(“You touched me.”) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }


使用自定义视图:新建Swift File

import UIKit class RoundView:UIView { var color = UIColor.blue override init(frame:CGRect) { super.init(frame:frame) self.backgroundColor = UIColor.clear } override func draw(_ rect:CGRect) { let ctx = UIGraphicsGetCurrentContext() ctx?.clear(self.frame) ctx?.setFillColor(color.cgColor) ctx?.fillEllipse(in:CGRect(x:0, y:0, width:self.frame.width, height:self.frame.height)) } required init?(coder aDecoder:NSCoder) { fatalError("init(coder:) has not been implemented") } }

在ViewController中调用

import UIKit class ViewController:UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. let view = RoundView(frame:CGRect(x:40, y:40,width:240, height:240)) self.view.addSubview(view) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }


设置渐变view

let rect = CGRect(x:20, y:60, width:240, height:240) let gradientView = UIView(frame:rect) let gradientLayer = CAGradientLayer() gradientLayer.frame = gradientView.frame let fromColor = UIColor.yellow.cgColor let midColor = UIColor.blue.cgColor let toColor = UIColor.red.cgColor gradientLayer.colors = [fromColor, midColor, toColor] gradientLayer.startPoint = CGPoint(x:0, y:0) gradientLayer.endPoint = CGPoint(x:1, y:1) gradientLayer.locations = [0, 0.3, 1] gradientView.layer.addSublayer(gradientLayer) self.view.addSubview(gradientView)

仿射变换:旋转,缩小,扩大等

image.png

视图嵌套

image.png

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.05.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • UIView是UIKit框架里面最基础的视图类。UIView类定义了一个矩形的区域,并管理该矩形区域内的所有屏幕显示。
  • 控件
  • 以图片做背景
  • 修改不透明度 view.alpha = 0.3
  • 是否隐藏 view.isHidden=true
  • 是否交互 userInteractionEnabled
  • 设置边框:
  • 设置阴影:
  • 设置圆角:view.layer.cornerRadius = 40
  • 捕获用户触摸事件UITapGestureRecognizer(taget:self,action:#selector(ViewController.SingleTap))
  • 使用自定义视图:新建Swift File
    • 在ViewController中调用
    • 设置渐变view
    • 仿射变换:旋转,缩小,扩大等
    • 视图嵌套
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档