ios之第一个图形化界面

1、创建ios项目

1、create Xcode ->simpleViewApplication -> input Program name 

 


2、在控制器里面加入代码

我们在viewControl.m里面加上UILabel控件,这个控件和Android 里面的TextView类似,具体代码如下
//
//  ViewController.m
//  SecondHello
//
//  Created by 1111 on 17/7/31.
//  Copyright © 2017年 sangfor. All rights reserved.
//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];//创建UILable控件UILabel* label = [[UILabel alloc] init];//设置控件的大小和位置label.bounds = CGRectMake(0, 0, 100, 100);//设置控件的中心点和父view的中心点一致,这样居中显示label.center = self.view.center;//这里设置了我的名字label.text = @"chenyu";//这里需要添加到父View中[self.view addSubview:label];
}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.
}@end

这个入口类(viewDidLoad)似于Android中的Activity的onCreate方法,我们一般都是在这里初始化一个UILabel,以及iOS的坐标问题,最后还要记得把这个控件添加在父控件里面,ios里面的控件可以随便加, Android不行,需要继承View.
我们在main.m文件里面可以看到这个
int main(int argc, char * argv[]) {NSLog(@"应用程序已完成111");@autoreleasepool {return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));}
}
这个方法我们看到和C语言中的main函数形式是一致的,入口就在这里,这里把整个应用程序的逻辑都托付给了AppDelegate类,在iOS中这种方式叫做代理,而在Android中我们通常叫做回调机制,我们知道Android 里面的程序入口不是Activity的onCreate方法,也不是Application的onCreate方法,而是ActivityThread.java里面的main函数方法,这个是说的Android应用程序,没有涉及到c/c++那块。
appDelegate.m这个类就像Android里面的Activity,都会有周期,后面再来介绍。

3、运行结果

 


4、总结

知道ios程序入口和视图选择器,我们可以添加基本的控件来显示在模拟器上,后面再介绍生命周期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Memcached简介

在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法。其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率。 除了能够提高服务的运行效率之外,服务端缓存还常常用来提…

JAVA设计模式之门面模式(外观模式)

医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊、划价、化验、收费、…

里程碑 .Net7再更新,从此彻底碾压Java!

.NET 7 Preview1发布了,没时间实操?先快来看看.NET7的七项重大改进!1、不再支持.NET 7应用程序、运行时和SDK的多级查找(MLL)2、PATH停止向.NET 7运行时和SDK添加32位.NET3、默认情况下, dotnet build/publ…

软件架构知识体系

2019独角兽企业重金招聘Python工程师标准>>> 由于[GOF95]是论述软件模式的著作的第一本,也是OO设计理论著作中最流行的一本,因此有些人常常使用设计模式(Design Pattern)一词来指所有直接处理软件的架构、设计、程序实…

C语言之最好理解的通过函数指针作为参数实现回调函数

1、函数指针回调解释 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数 2、代码实现 #include <stdio.h>int sub(int a, int b);int sub1(int a, int b, in…

asp.net 的page 基类页面 做一些判断 可以定义一个基类页面 继承Page类 然后重写OnPreLoad事件...

public class BasePage:Page protected override void OnPreLoad(EventArgs e){ base.OnPreLoad(e); .................. } 这样 就可以在基类页面 统一做一些判断了 转载于:https://www.cnblogs.com/maijin/p/4681871.html

C#不要再使用Npoi啦,使用MiniExcel操作Excel文件更快更高效!

1.简介MiniExcel简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。目前主流框架如Npoi 需要将数据全载入到内存方便操作&#xff0c;但这会导致内存消耗问题。MiniExcel 尝试以 Stream 角度写底层算法逻辑&#xff0c;能让原本1000多MB占用降低到几MB&#xff0c;避免内…

#、%和$符号在OGNL表达式中的作用

#、%和$符号在OGNL表达式中经常出现&#xff0c;而这三种符号也是开发者不容易掌握和理解的部分。在这里笔者简单介绍它们的相应用途。1&#xff0e;#符号的用途一般有三种。 1)访问非根对象属性&#xff0c;例如示例中的#session.msg表达式&#xff0c;由于Struts 2中值栈被…

Android之获取证书文件(pfx格式)的公钥和私钥

1、把pfx证书文件放入sdcard adb push ***.pfx /sdcard/ 2、解析获取公钥和私钥 //证书解析 String path = Environment.getExternalStorageDirectory().getPath() + "/sim_shield.pfx";public static Map<String, byte[]> parsePfx(String pfxPath, String…

go和python切片的不同

2019独角兽企业重金招聘Python工程师标准>>> go有切片slice类型&#xff0c;python有列表和元组&#xff0c;这两种语言都有切片操作。 但是它们的切片操作是完全不同的。 首先说第一个&#xff0c;go的切片&#xff0c;其成员是相同类型的&#xff0c;python的列…

编程算法 - 切割排序 代码(C)

切割排序 代码(C)本文地址: http://blog.csdn.net/caroline_wendy排序切割, 把一个数组分为, 大于k\小于k\等于k的三个部分.能够使用高速排序的Partition函数, 进行处理, 把大于k的放在左边, 小于k的放在右边.使用一个变量记录中间的位置, 则时间复杂度为O(3n/2).代码:/** main…

【C#/.NET】.NET6中全局异常处理

微信公众号&#xff1a;趣编程ACE关注可了解每日一更的.NET日常实战开发技巧&#xff0c;欢迎公众号留言开发 获取源码;.NET6中全局异常处理异常处理是我们在程序开发中不可或缺的一环&#xff0c;下文我将会结合程序Sample讲解如何在.NET6中有效处理异常。Try-Ctach 块包裹自定…

JAVA学习笔记--初识容器类库

一、前言 JAVA中一切皆为对象&#xff0c;因而&#xff0c;持有对象显得尤为重要。 在JAVA中&#xff0c;我们可以通过创建一个对象的引用的方式来持有对象&#xff1a; HoldingObject holding; 也可以创建一个对象数组来持有一组特定类型的对象&#xff1a; HoldingObject hol…

如何保证执行异步方法时不会遗漏 await 关键字

前言在.NET Core 中已经广泛使用异步编程&#xff0c;代码中充斥着大量的 async 和 await 关键字。但有时候&#xff0c;调用一个异步方法时可能会忘了写 await。这会造成什么问题呢&#xff1f;问题重现示例代码如下&#xff1a;[HttpGet] public async Task<IEnumerable&l…

Andorid之打包出现Proguard returned with erro code 1.See console解决办法

1、错误 我们进行签名操作的时候&#xff0c;提示下面错误 Proguard returned with erro code 1.See console 然后在console里面提示这个 you should check if you need to specify additional program jars 2、原因 找不到引用包导致 2、解决办法 我们可以在proguard-projec…

CCF-CSP认证201312-1(出现次数最多的数)

CCF-CSP认证201312-1&#xff08;出现次数最多的数&#xff09; 问题描述   给定n个正整数&#xff0c;找出它们中出现次数最多的数。如果这样的数有多个&#xff0c;请输出其中最小的一个。 输入格式   输入的第一行只有一个正整数n(1 ≤ n ≤ 1000)&#xff0c;表示数字…

Java的原始数据类型一共就8个

Java的原始数据类型一共就8个&#xff0c;分别是&#xff1a;byte、short、int、long、boolean、char、float、double。注意这些是大小写敏感的&#xff0c;而Boolean是boolean的封装类(wrapper class)。 在java中一个类只能有一个直接父类&#xff0c;但是可以实现多个接口&a…

Avalonia跨平台入门第十二篇之动画效果

在前面分享的几篇中咱已经玩耍了Popup、ListBox多选、Grid动态分、RadioButton模板、控件的拖放效果、控件的置顶和置底、控件的锁定、自定义Window样式;今天趁着空闲时间接着去摸索简单的动画效果,毕竟有点动画的东西还是挺有意思的;最终实现的效果如下图:使用了Margin实现左右…

python之解析最简单的xml

1、person.xm文件如下 2、用xml.etree.ElementTree解析person.xml的实现 3、效果如下 4、总结 python里面的list []相当于java里面的list&#xff0c;然后可以改变其中的值。

mysql忘记密码,怎么办?

mysql忘记密码&#xff0c;怎么办&#xff1f;我们经常需要修改mySQL的密码&#xff0c;比如时间久了忘记了MySQL的密码&#xff0c;也或者是使用了一台别人使用过的电脑&#xff0c;不知道之前密码的情况下&#xff0c;又想使用MySQL&#xff0c;怎么办呢&#xff1f;准备工作…