博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 11开发教程(十四)iOS11应用代码添加视图
阅读量:6708 次
发布时间:2019-06-25

本文共 1370 字,大约阅读时间需要 4 分钟。

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, 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  运行效果

转载地址:http://weflo.baihongyu.com/

你可能感兴趣的文章
java与openssl的rsa算法互用
查看>>
Python strip lstrip rstrip使用方法
查看>>
Codeforces Round #268 (Div. 2) c
查看>>
如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?...
查看>>
postgresql 自动备份
查看>>
读写文件之日志文件
查看>>
win7 远程桌面凭证不工作
查看>>
Code Review
查看>>
张升:农业银行的分布式架构应用实践与展望
查看>>
编译 链接和加载
查看>>
centos 启动多台zookeeper
查看>>
NASA研制3D食物打印机:原料或取自昆虫
查看>>
彭斌_无人机的发展与未来
查看>>
OpenSSLRSAWrapper
查看>>
Cocoa Application Start Sequence
查看>>
图像处理控件ImageGear for .NET教程如何为应用程序 添加DICOM功能(2)
查看>>
基于Video4Linux的视频采集模块开发(转)
查看>>
阿里强制要求的21条Java开发规范,可以避免很多坑
查看>>
jQuery Selector
查看>>
RequireJS入门(二)
查看>>