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 ...
随机推荐
- vue过渡 & 动画---进入/离开 & 列表过渡
(1)概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animat ...
- linux mysql设置远程访问
>mysql -u root -p 选择进入mysql数据库use `mysql`; 查看所有存在的账号和地址.SELECT `Host`,`User` FROM `user`; 现在决定让ro ...
- 洛谷——P3369 【模板】普通平衡树(splay)(基础splay,维护一些神奇的东东)
P3369 [模板]普通平衡树 平衡树大法好,蒟蒻(博主)最近正在收集高级数据结构的碎片,企图合成数据结构的元素之力来使自己的RP++... 您需要写一种数据结构(可参考题目标题),来维护一些数,其中 ...
- C++ 实现Golang里的defer
不多说了,直接贴代码.就一个hpp文件. 1 #include <functional> 2 3 #define CONCAT_(a, b) a##b 4 #define CONCAT(a ...
- 【ssm】spring功能讲解
概览 Spring5框架包含许多特性,负责管理项目中的所有对象,并被很好地组织在下图所示的模块中 核心容器:由spring-beans.spring-core.spring-context.sprin ...
- 39页第7题 计算2的i次方之和
/*计算2的i次方之和*/ #include<stdio.h> #include<math.h>/*调用math.h文件中的函数*/ int main(void) { int ...
- Spring整合Junit框架
一.开发环境 eclipse版本:4.6.1 maven版本:3.3.3 junit版本:4.12 spring版本:4.1.5.RELEASE JDK版本:1.8.0_111 二.项目结构 图 三. ...
- [luoguP1941] 飞扬的小鸟(DP)
传送门 动归,用f[i][j]表示到达第I列高度为j时最少需要飞的次数,容易想到最裸的转移: f[i][j]=min(min(f[i-1][j-up[i-1]*k]+k),f[i-1][j+down[ ...
- Error:java: Internal compiler error: java.lang.Exception: java.lang.NoClassDefFoundError解决
场景:将Eclipse的可以运行的项目转到IDEA发现一个奇怪的错误 今天用IDEA2018.1运行SpringBoot项目报错如下: Error:java: Internal compiler er ...
- cogs——1298. 通讯问题
1298. 通讯问题 ★★ 输入文件:jdltt.in 输出文件:jdltt.out 简单对比时间限制:1 s 内存限制:128 MB [题目描述] 一个篮球队有n个篮球队员,每个队员 ...