IOS-学习记录【01】

很久都没写博客了,从今天开始会记录一些学习的心得/过程。现在对学习iOS的兴趣也越来越浓。微信小程序的开发已经告一段落,目前会对产品进行代码改进和功能优化。

第一个iOS应该从今天开始诞生,这两天刚开始接触一些iOS的语法,OC对象的概念还没有完全熟悉,感觉很全新。

//
//  ViewController.m
//  more
//
//  Created by vjia on 2017/8/1.
//  Copyright ? 2017年 vjia. All rights reserved.
//

#import "ViewController.h"
#import "UIKit/UIkit.h"

@interface ViewController (){
    UITextField *_txtUserName;//声明控件变量
    UITextField *_txtPassword;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self LoadLoginForm];//在当前对象中加载
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(void)LoadLoginForm{//实例化加载控件
    UILabel *lbUserName=[[UILabel alloc] initWithFrame:CGRectMake(20, 160, 100, 40)];//绘制文本框大小
    [email protected]"用户名:";//设置文本框文字
    [self.view addSubview:lbUserName];

    _txtUserName=[[UITextField alloc] initWithFrame:CGRectMake(80, 160, 280, 40)];//绘制文本框大小
    [_txtUserName setBorderStyle:UITextBorderStyleRoundedRect];//设置边框样式
    _txtUserName.layer.borderColor=[[UIColor grayColor] CGColor];//设置边框的颜色
    _txtUserName.layer.borderWidth=0.7f;//设置边框宽度
    _txtUserName.layer.cornerRadius=6.0f;//设置圆角边框大小
    [email protected]"请输入用户名";
    _txtUserName.clearButtonMode=UITextFieldViewModeAlways;//文本框右侧总是显示删除角标
    [self.view addSubview:_txtUserName];//将控件加入当前的view中

    UILabel *lbPassWord=[[UILabel alloc] initWithFrame:CGRectMake(20, 220, 100,40)];
    [email protected]"密码:";
    [self.view addSubview:lbPassWord];

    _txtPassword=[[UITextField alloc] initWithFrame:CGRectMake(80, 220, 280, 40)];
    [_txtPassword setBorderStyle:UITextBorderStyleRoundedRect];
    _txtPassword.layer.borderColor=[[UIColor grayColor] CGColor];
    _txtPassword.layer.borderWidth=0.7f;
    _txtPassword.layer.cornerRadius=6.0f;
    [email protected]"请输入密码";
    _txtPassword.clearButtonMode=UITextFieldViewModeAlways;
    [self.view addSubview:_txtPassword];

    UILabel *lbForget=[[UILabel alloc] initWithFrame:CGRectMake(20, 280, 100, 50)];
    [email protected]"忘记密码?";
    [lbForget setTextColor:[UIColor blueColor]];
    [self.view addSubview:lbForget];

    UILabel *lbReg=[[UILabel alloc]initWithFrame:CGRectMake(320, 280, 100, 50)];
    [email protected]"注 册";
    [lbReg setTextColor:[UIColor redColor]];//设置字体的颜色
    [self.view addSubview:lbReg];

    CGRect rect=[[UIScreen mainScreen] bounds];//获取主屏幕对象
    CGSize size=rect.size;//屏幕大小
    CGFloat width=size.width;//宽度

    UIButton *btnLogin=[UIButton buttonWithType:UIButtonTypeCustom];//如果按钮需要自定义背景图片 按钮必须设置成自定义模式 否则会看见蓝色的图标
    btnLogin.frame=CGRectMake(0,400, width, 80+10);
    //[btnLogin setBackgroundColor:[UIColor redColor]];//设置背景颜色为红色
    [btnLogin setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [btnLogin setTitle:@"登 录" forState:UIControlStateNormal];
    [btnLogin.self addTarget:self action:@selector(login) forControlEvents:UIControlEventTouchUpInside];
    [btnLogin setImage:[UIImage imageNamed:@"SourceBundle.bundle/login"] forState:UIControlStateNormal];//引用资源文件中的图片作为背景图
    [btnLogin setImageEdgeInsets:UIEdgeInsetsMake(0, 25, 20, 25)];
    [self.view addSubview:btnLogin];

    UINavigationBar *navigationbar=[[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, width, 50+10)];//绘制导航
    [self.view addSubview:navigationbar];//加入到当前的view中

    UINavigationItem *navitem=[[UINavigationItem alloc] initWithTitle:@"登录"];//创建导航内容并设置标题

    UIBarButtonItem *barbutton=[[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:self action:@selector(login)];//在导航栏上创建一个按钮 文字为返回 加入触发事件的方法

    navitem.leftBarButtonItem=barbutton;//按钮显示在导航栏的左侧

    [navigationbar pushNavigationItem:navitem animated:NO];//将导航栏显示出来
}

-(void)login{//登录方法
    NSString *message=[NSString stringWithFormat:@"户名 %@ 密码 %@",_txtUserName.text,_txtPassword.text];//声明一个string类型的变量 并接收文本框的输入的内容
    UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"温馨提示" message:message delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil];//初始化弹窗
    [alert show];//弹出模态窗体提示

}
@end

相关的说明已经在注释里面写了。感觉这种方式刚开始学可能编写代码会相对繁琐,后面应该会很好理解的。还有一种方式是拖控件来实现,这种会相对简单些。

小白一个,仅记录学习的心得与分析学习的过程。

时间: 2024-10-28 16:26:43

IOS-学习记录【01】的相关文章

ios学习记录 day41 UI17 多线程

CPU(工厂) 进程(车间) 线程(工人) 一个进程代表一个应用程序 CPU总是运行一个进程,其它进程处于非运行状态.一个进程可以包含多个线程.线程与线程之间可以共享进程的内存区域. 打开一个应用程序,系统会给我们创建一个线程,称为主线程 管理主界面的UI与内部循环机制(与界面相关的东西必须放在主线程中!!!) 压力比较大且会造成线程阻塞(界面卡),因此我们通过创建子线程来对主线程进行分压. 什么时候用多线程 1.网络请求(同步的) 2.文件读写(少) 3.大数据计算(冒泡) 4.数据库sele

ios学习记录 day42 UI18 集合视图

集合视图UICollectionView 简单来说就是多列的TableView 它们同样是datasource和delegate设计模式UICollectionViewLayout是一个对View布局和行为描述的类  UICollectionViewFlowLayout是它的子类 ios学习记录 day42 UI18 集合视图,码迷,mamicode.com

iOS学习记录之-AvAudioPlayer

前言:这两天老师布置了一个作业,编写一个音乐播放器的程序,使用AvAudioPlayer类. AvAudioPlayer类是编写iOS播放器的三个类之一,其他两个以后用到再阐述.今天的主角是AvAudioPlayer.下面我们来一起看看这个类 首先介绍一下,AvAudioPlayer它是苹果公司封装好的一个类,用起来很方便,功能也很强大,但是它只支持播放沙盒存好的音乐,不支持在线播放,是苹果公司自家ipod 播放器专用的.这点大家知道即可不必深究: 好,言归正传: 1,创建AvAudioPlay

ios学习记录 day44 UI20 Storyboard 高级可视化编程 + 单例

可视化编程 : 5.0之前 xib  5.0之后 Storyboard 注意事项:1.在AppDelegate中不用代码初始化一个window   2.在general  设置 Main Interface(创建的时候自动设置的) weak可以指向 但是没有拥有权   strong有拥有权 单例特性: 1.唯一性  创建的对象永远指向同一块内存地址     2.不释放   从打开程序到后台关闭 对象都不释放 单例安全:加锁@synchronized  防止同一块内存被创建两次,破坏唯一性 //单

Activiti框架学习记录-01

Activiti框架学习记录-01 本篇主要是Activiti工作流框架的学习记录,以及对于该框架的基本使用和一些浅显的理解: 1.工作流框架基本概念 2.在eclipse中使用工作流框架 3.创建工作框架 4.使用框架提供API,操作框架实现业务逻辑 1.工作流框架基本概念(摘自百度百科) 工作流(Workflow),就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现某个

iOS学习笔记(01) - 泛型

决定新开一坑,在不断学习的同时分享自己的学习历程给大家,既是对自己学习的记录,又希望能对大家提供些微的帮助. 这一篇文章主要来介绍泛型的意义.使用与声明方法等. 1.泛型:限制类型 1.1.泛型使用场景: 1.在集合(数组NSArray.字典NSDictionary.集合NSSet)中使用泛型比较常见. 2.当声明一个类,但是类里面的某些属性的类型不确定的时候,我们才使用泛型. 1.2.泛型书写规范 在类型后面定义泛型:NSMutableArray<UITouch *> dataArray 1

【Smallfan的ios学习笔记 01】编译并运行第一个程序

本文来自:博客园CoderSmallfan.转载请注明出处:http://www.cnblogs.com/codersmallfan/p/3746329.html 如同学习其他平台开发一样,学习ios开发也应掌握一门语言并以一个操作系统作为平台,这门语言就是objective C,而这个操作系统为Mac OSX.如果英语稍微及格的同学应该能从objective这个单词看出点门道,object的中文意为对象[计],objective直意为目标,在这里实际上是面向对象的意思,其实就是一门扩充C的面向

学习记录01 --- 访问JDBC,制作教务管理系统

首先说下我就一个菜鸡,只是记录下自己的学习过程,大佬们无视我就好... --------------------------------------------------------------------------------------------------------- 今天学习了JDBC,下午就做了一个经典的增删改查的案例,教务管理系统 自己也试着封装了一下,面向对象思想嘛 原来一直用的eclipse,直到今天接触到idea才知道啥叫真正的好用,但对于idea还是比较陌生,还得摸索

ios学习笔记01

## HUD - 其他说法:指示器.遮盖.蒙板 - 半透明HUD的做法 - 背景色设置为半透明颜色 ## 定时任务 - 方法1:performSelector ```objc // 1.5s后自动调用self的hideHUD方法 [self performSelector:@selector(hideHUD) withObject:nil afterDelay:1.5]; ``` - 方法2:GCD ```objc dispatch_after(dispatch_time(DISPATCH_TI

IOS 学习记录

表情排列 // // MJViewController.m // 01-表情排列 // // Created by apple on 13-11-24. // Copyright (c) 2013年 itcast. All rights reserved. // #import "MJViewController.h" /* 1.adjust....方法去掉第2个参数----add:(BOOL)add (不能增加全局变量或者成员变量) 2.在表情最后面增加一个“+”按钮,添加按钮在尾部