iOS 11开发教程(十四)iOS11应用代码添加视图ide
若是开发者想要使用代码为主视图添加视图,该怎么办呢。如下将为开发者解决这一问题。要使用代码为主视图添加视图须要实现3个步骤。this
(1)实例化视图对象对象
每个视图都是一个特定的类。在Swift中,常常会说,类是一个抽象的概念,而非具体的事物,因此要将类进行实例化。实例化一个视图对象的具体语法以下:教程
let/var 对象名=视图类()开发
以咱们接触的第一个视图View为例,它的实例化对象以下:it
let newView=UIView()io
其中,UIView是空白视图的类,newView是UIView类实例化出来的一个对象。class
(2)设置视图的位置和大小import
每个视图都是一个区域,因此须要为此区域设置位置和大小。设置位置和大小的属性为frame,其语法形式以下:语法
对象名.frame=CGRect(x ,y ,width,height)
其中,x和y表示视图在主视图中的位置,width和height表示视图的大小。如下为实例化的对象newView设置位置和大小:
newView.frame=CGRect(x: 67, y: 264, width: 240, height: 128)
其中,67和264表示此视图的主视图中的位置,240和128表示此视图的大小。
注意:步骤1和步骤2也能够进行合并。例如,如下的代码是将UIView类的实例化对象和设置位置大小进行了合并:
let newView=UIView(frame: CGRect(x: 67, y: 264, width: 240, height: 128))
(3)将视图添加到当前的视图中
最后,也是最为关键的一步,就是将实例化的对象添加到主视图中。这样才能够进行显示。此时须要使用到AddSubview()方法,其语法形式以下:
this.view.addSubview (视图对象名)
如下将实例化的对象newView添加到当前的主视图中,代码以下:
self.view.addSubview(newView)
【示例1-2】如下将使用代码为主视图添加一个View空白视图。代码以下:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let newView=UIView(frame: CGRect(x: 67, y: 264, width: 240, height: 128))
self.view.addSubview(newView)
}
……
}
此时运行程序,会看到如图1.50所示的效果。在此运行效果中也是看不到添加的视图的。这是由于添加的视图默认是白色的背景,若是想要看到视图,须要设置它的背景。例如如下的代码,将背景颜色设置为了灰色:
newView.backgroundColor=UIColor.gray
此时运行程序,会看到如图1.51所示的效果。
图1.50 运行效果 图1.51 运行效果