iOS开发-UI 从入门到精通(三)是对 iOS开发-UI 从入门到精通(一)知识点的综合练习,搭建一个简单地登陆界面,增强实战经验,为以后做开发打下坚实的基础!

※在这里我们还要强调一下,开发环境和内存管理注意事项(最后一次强调,以后文章中将不会在出现希望大家谨记):

1、前期iOS-UI开发我们需要手动管理内存,所以我们要把ARC关掉(Xcode关掉ARC的步骤);

(1)打开Xcode选中当前工程:

(2)选中Build Settings:

(3)在输入框内输入count:

(4)选择Objective-C Automatic Reference Counting  将其设置为  NO:

(5)AppDelegate.h文件中将:@property (assign, nonatomic) UIWindow *window;改成@property (retain, nonatomic) UIWindow *window;

(6)AppDelegate.m文件中重写:- (void)dealloc  {  [_window release];  [super dealloc];  }

2、在开发当中我们会用到模拟器下面我们来看一下模拟器添加步骤(Xcode环境下);

(1)打开Xcode选择Window下的Devices:

(2)点击“+”在弹出来的选择框里对 Simulator Name 进行选择:

一、利用所学的知识搭建一个简单地登陆界面界面呈现“账号”、“密码”、“登录”、“忘记密码”、“注册”等:

AppDelegate.h文件中:

 #import <UIKit/UIKit.h>

 @interface AppDelegate : UIResponder <UIApplicationDelegate>

 @property (retain, nonatomic) UIWindow *window;

 @end

AppDelegate.m文件中:

 @implementation AppDelegate

 - (void)dealloc
{
[_window release];
[super dealloc];
} - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
#pragma mark--:window窗口
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; _window.backgroundColor = [UIColor whiteColor]; #pragma mark--:创建一个view
UIView * view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; view.backgroundColor = [UIColor whiteColor]; #pragma mark--:创建两个UILabel(账号\密码)
UILabel * numLabel = [[UILabel alloc] initWithFrame:CGRectMake(, , , )]; numLabel.text = @"账 号:"; UILabel * passLabel = [[UILabel alloc] initWithFrame:CGRectMake(, , , )]; passLabel.text = @"密 码:"; #pragma mark--:创建两个UITextField(账号输入框\密码输入框)
UITextField * numTextField = [[UITextField alloc] initWithFrame:CGRectMake(, , , )]; numTextField.borderStyle = UITextBorderStyleRoundedRect; numTextField.placeholder = @"请输入手机号/邮箱"; UITextField * passTextField = [[UITextField alloc] initWithFrame:CGRectMake(, , , )]; passTextField.borderStyle = UITextBorderStyleRoundedRect; passTextField.placeholder = @"请输入密码"; #pragma mark--:创建三个Button(登录\忘记密码\注册)
UIButton * loginBtn = [UIButton buttonWithType:UIButtonTypeSystem]; loginBtn.frame = CGRectMake(, , , ); [loginBtn setTitle:@"登录" forState:UIControlStateNormal]; UIButton * forgetBtn = [UIButton buttonWithType:UIButtonTypeSystem]; forgetBtn.frame = CGRectMake(, , , ); [forgetBtn setTitle:@"忘记密码" forState:UIControlStateNormal]; UIButton * regisBtn = [UIButton buttonWithType:UIButtonTypeSystem]; regisBtn.frame = CGRectMake(, , , ); [regisBtn setTitle:@"注册" forState:UIControlStateNormal]; #pragma mark--:添加到视图上
[view addSubview:regisBtn]; [view addSubview:forgetBtn]; [view addSubview:loginBtn]; [view addSubview:passTextField]; [view addSubview:numTextField]; [view addSubview:passLabel]; [view addSubview:numLabel]; [_window addSubview:view]; [_window makeKeyAndVisible]; #pragma mark--:释放
[passTextField release]; [numTextField release]; [passLabel release]; [numLabel release]; [view release]; [_window release]; return YES;
} @end

模拟器运行效果图:

          

下一篇将持续更新配套知识点及练习;

Email:dingding3w@126.com

iOS开发-UI 从入门到精通(三)的更多相关文章

  1. iOS开发-UI 从入门到精通(二)

    iOS开发-UI 从入门到精通(二)是对 iOS开发-UI 从入门到精通(一)知识点的巩固,主要以习题练习为主,增强实战经验,为以后做开发打下坚实的基础! ※开发环境和注意事项: 1.前期iOS-UI ...

  2. iOS开发-UI 从入门到精通(一)

    一.UI概述 (1)UI(User Interface)用户界面,用户能看到的各种各样的页面元素: (2)iOS App = 各种各样的UI控件+业务逻辑和算法: (3)想要开发出一款精美的应用程序, ...

  3. iOS开发-UI 从入门到精通(四)

    一.UITextField 1.UITextField是什么? (1)UITextField(输入框):是控制文本输入和显示的控件.在App中UITextField出现频率也比较高: (2)iOS系统 ...

  4. iOS开发-UI 从入门到精通(五)

    近日在做项目的时候,为了快捷适配屏幕采用了Storyboard,添加约束以后运行后发现一个问题(下面将以普通案例展示该问题);在4.7 甚至更大的屏幕下是没有问题的,如下图(4.7屏幕): 但是放到更 ...

  5. iOS开发UI篇—iOS开发中三种简单的动画设置

    iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...

  6. iOS开发UI篇—Quartz2D简单使用(三)

    iOS开发UI篇—Quartz2D简单使用(三) 一.通过slider控制圆的缩放 1.实现过程 新建一个项目,新建一个继承自UIview的类,并和storyboard中自定义的view进行关联. 界 ...

  7. iOS开发UI篇—CAlayer(自定义layer)

    iOS开发UI篇—CAlayer(自定义layer) 一.第一种方式 1.简单说明 以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的Draw ...

  8. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

  9. iOS开发UI篇—CAlayer(创建图层)

    iOS开发UI篇—CAlayer(创建图层) 一.添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控 ...

随机推荐

  1. WPF 后台读取样式文件

    ResourceDictionary dic = new ResourceDictionary { Source = new Uri("Styles.xaml",UriKind.R ...

  2. Android之Socket通信、List加载更多、Spinner下拉列表

    Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务 ...

  3. java泛型上下限

    前言: java的泛型上下限不是很好理解,尤其像我这种菜鸡.反反复复看了好几遍了...,真是... 一.简单的继承体系 class Person{} class Student extends Per ...

  4. Android图片选择器

    1.概述 应公司项目需求,要做一个图片选择器,网上搜索了一些源码,我在别人的基础上进行了修改,另外页面也进行了重整,我的是先加载图片文件夹列表,然后再进入选择图片.            参考博客地址 ...

  5. Ubuntu杂记——Ubuntu下Eclipse搭建Maven、SVN环境

    正在实习的公司项目是使用Maven+SVN管理的,所以转到Ubuntu下也要靠自己搭环境,自己动手,丰衣足食.步骤有点简略,但还是能理解的. 一.安装JDK7 打开终端(Ctrl+Alt+T),输入  ...

  6. 如何远程备份MySQL binlog

    以前备份binlog时,都是先在本地进行备份压缩,然后发送到远程服务器中.但是这其中还是有一定风险的,因为日志的备份都是周期性的,如果在某个周期中,服务器宕机了,硬盘损坏了,就可能导致这段时间的bin ...

  7. Win8.1安装mysql-installer-community-5.6.21.0.mis

    引言 我本机是win8.1,在官网下载的这个安装是32位和64位都能装,安装步骤参考:http://jingyan.baidu.com/article/67662997305dcd54d51b84d4 ...

  8. 用CS的思维可以指导BS的项目吗?

    最近项目上线,越来越觉的让人不爽.1.在录数据的界面领导要求用Enter键一路打下来,用户不用操作鼠标数据就可以录完. 2.CS的项目中用快捷键的确很方便,但是大家在BS的项目中也用快捷键吗? 反正我 ...

  9. Compute Resource Consolidation Pattern 计算资源整合模式

    Consolidate multiple tasks or operations into a single computational unit. This pattern can increase ...

  10. 基于STM32Cube的ADC模数采样设计

    1.背景         此实验建立在STM32F429核心板基础上,对于深刻了解STM32Cube使用具有深刻意义.利用DMA进行ADC采样,具有速度快,极大减少CPU消耗的优势,对于数据采集系统具 ...