文档章节

iOS10 UI教程视图的绘制与视图控制器和视图

大学霸
 大学霸
发布于 2016/11/28 14:35
字数 517
阅读 39
收藏 0

iOS10 UI教程视图的绘制与视图控制器和视图

iOS10 UI视图的绘制

iOS10 UI教程视图的绘制与视图控制器和视图,在iOS中,有很多的绘图应用。这些应用大多是在UIView上进行绘制的。如果想在一个UIView中绘制一个图形,需要写一个扩展UIView的子类,并重写draw(_:)方法。在该方法中实现绘图操作,程序会自动调用此方法进行绘图。

【示例1-11:ViewDrawing】以下将在视图上绘制一个椭圆。具体的操作步骤如下:

(1)创建一个基于UIView的类文件,命名为ellipseView。

(2)打开ellipseView.swift文件,编写代码,实现椭圆的绘制。

import UIKit

class ellipseView: UIView {

    override func draw(_ rect: CGRect) {

        let path = UIBezierPath(ovalIn: self.bounds)

        UIColor.red.setStroke()

        UIColor.orange.setFill()

        path.fill()

        path.stroke()

    }

}

(3)打开Main.storyboard文件,选择主视图,在Show the Identity inspector面板中找到Class,将其设置为刚才创建的类即ellipseView。此时运行程序,会看到如图1.28所示的效果。

图1.28  运行效果

注意:如果开发者想要进行重绘,重绘操作仍然在draw(_:)方法中完成,但是苹果不建议直接调用draw(_:)方法,如果强直直接调用此方法,是没有效果的。苹果要求开发者调用UIView类中的setNeedsDisplay()或者是setNeedsDisplay(_:)方法,则程序会自动调用draw(_:)方法进行重绘。

iOS10 UI视图控制器和视图

在一个应用中,如果视图很多时,为了方便关联,可以使用视图控制器。视图控制器的功能就是对iOS应用程序的视图进行管理。视图控制器使用UIViewController实现。UIViewController的view属性是层次结构的根视图,它定义了视图控制器的内容。

iOS10 UI教程视图的绘制与视图控制器和视图

相关阅读:iOS10 UI教程视图调试

 

© 著作权归作者所有

大学霸
粉丝 269
博文 902
码字总数 556327
作品 0
东城
程序员
私信 提问
iOS10 UI教程视图的生命周期

iOS10 UI教程视图的生命周期 说到视图的生命周期一般都是指视图控制器的视图生命周期。在视图的声明周期中最主要的有8个方法,分别为loadView()、viewDidLoad()、viewWillAppear(:)、viewWil...

大学霸
2016/11/29
3
0
iOS10 UI教程基础窗口的内容与设置起始窗口

iOS10 UI教程基础窗口的内容与设置起始窗口 iOS10 UI教程基础窗口的内容与设置起始窗口,本章我们从iOS10开发中UI的基础知识开始讲解,其中包括了窗口、视图以及UI层次结构和Views的继承等内...

大学霸
2016/11/21
17
0
iOS10 UI教程视图的边界与视图的框架

iOS10 UI教程视图的边界与视图的框架 iOS10 UI视图的边界 在视图的几何形状中我们提到了视图属性中的一部分属性可以将定义的视图绘制在屏幕上。其中典型的3个属性为边界属性、框架属性以及中...

大学霸
2016/11/23
20
0
iOS10 UI教程管理层次结构

iOS10 UI教程管理层次结构 iOS10 UI教程管理层次结构,在一个应用程序中,如果存在多个层次结构,就需要对这些层次结构进行管理。在UIView类中提供了可以用来管理层次结构的方法,让开发者可...

大学霸
2016/11/25
8
0
iOS10 UI教程视图的几何形状

iOS10 UI教程视图的几何形状 视图属性中的一部分属性可以让定义的视图绘制在屏幕上。在讲解这些属性前,我们首先将讲解,定义视图的几何形状所涉及到的结构类型。这些结构类型如下: CGPoin...

大学霸
2016/11/23
17
0

没有更多内容

加载失败,请刷新页面

加载更多

protoc 编译工具

在进行开发 protoc 之前,你需要首先在你的计算机中安装 protoc 编译工具。 下载编译工具 进入 Protocol Buffers 的源代码中然后选择发布的版本中,找到对应的版本。项目的链接地址为:https...

honeymoose
56分钟前
1
0
uniapp + bootstrapvue 移动/PC 一套搞定 (一)配置bootstrapvue

1.准备文件 自己到DCloud官网: http://dcloud.io/ 去下载官方的IDE Hbuilder,新建一个空的uniapp项目即可。 uniapp框架自带优化的vue,我们仅仅需要准备以下三个文件: bootstrap.min.css ...

panyunxing
今天
9
0
Android Camera原理之camera service类与接口关系

camera service主要是指 frameworks/av/services/camera/下面的代码,最近在看这一块的代码,为了更好地理清这一块的代码,也为了后续学习camera方便一些,我觉得很有必要理一下这一块的整体...

天王盖地虎626
今天
2
0
Golang学习笔记

[TOC] Golang学习笔记 这个学习笔记是最早在1.初,版本左右的时候写的,和当前最新的版本可能会有较大的差异. 因为成文比较早,文章里面又有很多自己的见解,有些东西当时理解的不太透彻可能写错...

我爱吃炒鸡
今天
14
0
科技赋能成效显著!金融壹账通两大赋能项目荣获IDC大奖

7月19日,2019IDC中国未来金融论坛曁颁奖典礼于北京举办。由金融壹账通赋能的长春农商银行多人视频面审智能风控系统、包头农商银行互联网银行SaaS服务两大项目因在项目的创新性、技术领先性、...

IFTNews
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部