zoukankan      html  css  js  c++  java
  • iOS 11开发教程(十四)iOS11应用代码添加视图

    iOS 11开发教程(十四)iOS11应用代码添加视图

    如果开发者想要使用代码为主视图添加视图,该怎么办呢。以下将为开发者解决这一问题。要使用代码为主视图添加视图需要实现3个步骤。

    (1)实例化视图对象

    每一个视图都是一个特定的类。在Swift中,经常会说,类是一个抽象的概念,而非具体的事物,所以要将类进行实例化。实例化一个视图对象的具体语法如下:

    let/var 对象名=视图类()

    以我们接触的第一个视图View为例,它的实例化对象如下:

    let newView=UIView()

    其中,UIView是空白视图的类,newView是UIView类实例化出来的一个对象。

    (2)设置视图的位置和大小

    每一个视图都是一个区域,所以需要为此区域设置位置和大小。设置位置和大小的属性为frame,其语法形式如下:

    对象名.frame=CGRect(x ,y ,width,height)

    其中,x和y表示视图在主视图中的位置,width和height表示视图的大小。以下为实例化的对象newView设置位置和大小:

    newView.frame=CGRect(x: 67, y: 264, 240, height: 128)

    其中,67和264表示此视图的主视图中的位置,240和128表示此视图的大小。

    注意:步骤1和步骤2也可以进行合并。例如,以下的代码是将UIView类的实例化对象和设置位置大小进行了合并:

    let newView=UIView(frame: CGRect(x: 67, y: 264, 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, 240, height: 128))

            self.view.addSubview(newView)

        }

    ……

    }

    此时运行程序,会看到如图1.50所示的效果。在此运行效果中也是看不到添加的视图的。这是因为添加的视图默认是白色的背景,如果想要看到视图,需要设置它的背景。例如以下的代码,将背景颜色设置为了灰色:

    newView.backgroundColor=UIColor.gray

    此时运行程序,会看到如图1.51所示的效果。

     

    图1.50  运行效果                                   图1.51  运行效果

  • 相关阅读:
    NodeJS系列~第一个小例子,实现了request.querystring功能
    JS~js里实现队列与堆栈
    最新CSS兼容方案
    js传真实地址 C:fakepath
    IE11的变化 navigator.userAgent中不再包含“MSIE”关键字
    看看该死的jquery.form.js的用法,不是个东西
    bootstrap模态框怎么传递参数
    方法的直接调用,反射调用
    IIS 7.5 配置伪静态
    TrippleDESCSPEncrypt 加密解密试试看
  • 原文地址:https://www.cnblogs.com/daxueba-ITdaren/p/7883301.html
Copyright © 2011-2022 走看看