iOS10 UI教程视图的绘制与视图控制器和视图,在iOS中,有不少的绘图应用。这些应用大可能是在UIView上进行绘制的。若是想在一个UIView中绘制一个图形,须要写一个扩展UIView的子类,并重写draw(_:)方法。在该方法中实现绘图操做,程序会自动调用此方法进行绘图。swift
【示例1-11:ViewDrawing】如下将在视图上绘制一个椭圆。具体的操做步骤以下:ide
(1)建立一个基于UIView的类文件,命名为ellipseView。spa
(2)打开ellipseView.swift文件,编写代码,实现椭圆的绘制。.net
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 运行效果code
注意:若是开发者想要进行重绘,重绘操做仍然在draw(_:)方法中完成,可是苹果不建议直接调用draw(_:)方法,若是强直直接调用此方法,是没有效果的。苹果要求开发者调用UIView类中的setNeedsDisplay()或者是setNeedsDisplay(_:)方法,则程序会自动调用draw(_:)方法进行重绘。blog
在一个应用中,若是视图不少时,为了方便关联,能够使用视图控制器。视图控制器的功能就是对iOS应用程序的视图进行管理。视图控制器使用UIViewController实现。UIViewController的view属性是层次结构的根视图,它定义了视图控制器的内容。教程
iOS10 UI教程视图的绘制与视图控制器和视图ip
相关阅读:iOS10 UI教程视图调试开发