ios-UI1
// AppDelegate.h
// 01-HelloWorld的实现
//
/*
新建工程的时候,Use Core Data:比如本地缓存,
Include Unit test:增加单元测试
Include UI test:UI的测试。 AppDelegate.h:代理
AppDelegate.m
ViewController.h:控制器
ViewController.m:
Main.storyboard:主故事板
Assets.xcassets:图片资源
LaunchScreen.storyboard:启动屏幕,做广告的,
Info.plist:应用的配置信息
Supporting Files:外部拉入的东西
程序从Supporting Files下面的main.m文件启动。找到AppDelegate.m代理,做事情的,找MAin Inteface。 Bundle:唯一标示,
Team:打包需要证书。
Deployment Target:预编译的版本,一般选择7.0,8.0,
MAin Inteface(工程--General):主交互界面,第一个启动的界面(storyboard)。
View Controller:是用来管理View和VIew里面的内容的。 展示给用户的是View。一个控制器只能够管理一个页面,负责处理事件。 也可以自定义一个storyboard作为程序的启动界面,并且新的storyboard要自己拖一个View Controller和View。并且加一个箭头(title--is init View Controller)就有可一个箭头。并且可以拖多个控制器。 可以为View Controller自定义class,右键--new file--Cocoa Touch Class--要继承UIViewController,然后在面板上Class选择自定义的class(My2ViewController),这样就为View Controller绑定了自定义的My2ViewController。
*/ #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end
//
// My2ViewController.h
// 01-HelloWorld的实现
// #import <UIKit/UIKit.h> @interface My2ViewController : UIViewController /*
//只有声明为IBOutlet的属性才能跟storyboard的属性进行关联,放在.m文件的类扩展里面,放在.h文件里面是公有的,放在.m文件里面是私有的。
@property(nonatomic, weak)IBOutlet UILabel *label;
*/
@end
//
// My2ViewController.m
// 01-HelloWorld的实现
//
/*
IBAction:从返回值的角度看,作用相当于void,
IB:Interface Builder一个软件。
只有返回值声明为IBAction的方法,才能根storyboard中的控件进行连线。
*/ #import "My2ViewController.h" @interface My2ViewController () //类扩展,为类扩展属性和方法,类扩展也是匿名分类,放私有的属性和方法, //只有声明为IBOutlet的属性才能跟storyboard的属性进行关联,放在.m文件的类扩展里面,放在.h文件里面是公有的,放在.m文件里面是私有的。
//判断对象在不在内存中是通过是否有强指针指向。 有一个强指针指向着View Control。View Control是不会死的,View Control有一个强指针指着View,View也不会死,View里面也有一个强指针指着label。所以这里是weak不影响,因为他本来就不会死。
@property(nonatomic, weak)IBOutlet UILabel *label; @end @implementation My2ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} /*
#pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/ #pragma mark -点击b1
-(IBAction)click1{ //点击2个圈圈分屏通过连线和按钮建立关联,
NSLog(@"");
self.label.textColor = [UIColor redColor];
self.label.text = @"";
} -(IBAction)click2{
NSLog(@"");
self.label.textColor = [UIColor greenColor];
self.label.text = @"";
self.label.backgroundColor = [UIColor blueColor];
} -(IBAction)click3{
NSLog(@"");
// 改变文字的颜色
self.label.textColor = [UIColor redColor]; //self是当前控制器
// 改变文本的内容
self.label.text = @"我是一段红色的文字";
// 改变背景颜色
self.label.backgroundColor = [UIColor greenColor];
// 文字居中
self.label.textAlignment = NSTextAlignmentCenter;
// 改变文字的大小,默认是17,
self.label.font = [UIFont systemFontOfSize:.f];
}
@end
ios-UI1的更多相关文章
- iOS 多线程之NSOperation篇举例详解
这篇博客是接着总篇iOS GCD NSOperation NSThread等多线程各种举例详解写的一个支篇.总篇也包含了此文的链接.本文讲解的知识点有NSBlockOperationClick,队列, ...
- iOS可视化动态绘制连通图
上篇博客<iOS可视化动态绘制八种排序过程>可视化了一下一些排序的过程,本篇博客就来聊聊图的东西.在之前的博客中详细的讲过图的相关内容,比如<图的物理存储结构与深搜.广搜>.当 ...
- 【疯狂造轮子-iOS】JSON转Model系列之二
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...
- 【疯狂造轮子-iOS】JSON转Model系列之一
[疯狂造轮子-iOS]JSON转Model系列之一 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 之前一直看别人的源码,虽然对自己提升比较大,但毕竟不是自己写的,很容易遗 ...
- iOS总结_UI层自我复习总结
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...
- iOS代码规范(OC和Swift)
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- 告别被拒,如何提升iOS审核通过率(上篇)
iOS审核一直是每款移动产品上架苹果商店时面对的一座大山,每次提审都像是一次漫长而又悲壮的旅行,经常被苹果拒之门外,无比煎熬.那么问题来了,我们有没有什么办法准确把握苹果审核准则,从而提升审核的通过率 ...
- Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
- Summary of Critical and Exploitable iOS Vulnerabilities in 2016
Summary of Critical and Exploitable iOS Vulnerabilities in 2016 Author:Min (Spark) Zheng, Cererdlong ...
随机推荐
- ThinkPHP---thinkphp完善站内信功能
[一]收件箱 分析 控制器:EmailController.class.php 方法:recBox(全称receive box收件箱) 模板文件:recBox.html 分步操作: 第一步:创建方法r ...
- 19MVC设计模式
MVC设计模式 MVC英文即Model-View-Controller, 即把一个应用的输入.处理.输出流程按照Model.View.Controller的方式进行分离,这样一个应用被分成三个层——模 ...
- 17Oracle Database 维护
Oracle Database 维护 备份 还原
- Controller传值到前端页面的几种方式
一丶追加字符串传值 #region 02-追加字符串传值 /// <summary> /// 02-追加字符串传值 /// </summary> /// <returns ...
- flex 三列布局
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- JSP内置对象说明
JSP内置对象说明 制作人:全心全意 request对象:request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息.系统信息.请求方式和请求参数等.通过request对象提 ...
- 利用postman进行接口测试并发送带cookie请求的方法
做web测试的基本上都用用到postman去做一些接口测试,比如测试接口的访问权限,对于某些接口用户A可以访问,用户B不能访问:比如有时需要读取文件的数据.在postman上要实现这样测试,我们就必要 ...
- HDU 1081 DP找最大和的矩阵
题目大意: 在一个给定的大矩阵中找一个小型的矩阵,使这个矩阵中的元素和最大 可以先来看下面这个问题: 原来有做过在一个给定的数字序列中找一个最大和子序列,核心代码如下: ]; ]; ; ; int r ...
- hdu 2647拓扑排序 结构体模拟容器
#include<stdio.h> #include<queue> #include<iostream> using namespace std; #define ...
- 【6572】关于mtk平台display模块的学习探讨
现在在学习mtk的display subsystem,有遇到流程上不太清楚地地方想要询问: 1.cmd模式和video模式framebuffer如何更新, 以及两种模式的差异? cmd和video m ...