iOS开发UI篇—模仿ipad版QQ空间登录界面

一、实现和步骤

1.一般ipad项目在命名的时候可以加一个HD,标明为高清版

2.设置项目的文件结构,分为home和login两个部分

  

3.登陆界面的设置

(1)设置第一个控制器和自定义的控制器类(登陆)关联

    

(2)设置控制器的view的颜色,RGB三个值都为42

  

(3)导入相关的素材图片

关于图片:一般给竖屏用的图片,以portrait名称标识,给横屏用的图片,以Landscape名称标识

修改plist文件,调整图片

    

提示:在项目中(ipad的使用中)有很多的地方都会用到图标

补充:关于apple开发运用中图标的尺寸,可以查看官方文档(apple icon)。

(4)初步的界面设置

添加一个UIimageView到storyboard中,设置其对应的图片。

使用outLayOut对其进行布局。设置其距离view的顶部有50的距离并固定,设置其水平居中。

       

添加一个view到storyboard中,用来装载密码,登陆等控件。

添加一个imageView到storyboard中,用来设置密码和登陆。(注意:这里提供的图片需要拉伸,设置拉伸最中间的1个像素)。

设置账号,调整约束。添加一个对应的textfield控件,设置约束,设置内部的文字颜色为白色,设置取出白色的背景,设置当编辑时提供一个清除按钮,设置键盘为数字键盘。

设置其边框样式

 

设置账号输入框的弹出键盘为数字键盘

 

设置弹出的数字键盘的return键位Next.

 

设置密码,步骤类似于账号,设置账号内部文字为密文。

  

设置清除按钮

  

设置密码输入框的弹出键盘的return键位Done.

  

(5)关于键盘的处理。

默认键盘。next,和Done。

让控制器称为文本框的代理。控制器需要遵守协议。

  

关于自动对文本框当前是否有数值进行判断,勾选选项,当textField中没有值的时候,(return)为灰色按钮,有值的时候可点。

  

点击Next按键,光标移动到密码输入框上,点击Done按键,执行登录相关操作。

实现代码如下(注意已经对两个textField进行了拖线处理)

  

说明:这里最简单的办法是在storyboard中给两个textfield设置两个tag值,在代码处理中根据其tag值取出相对应的textField,但是不推荐这么做。

二、登陆的设置

提示:在storyboard或者xib中对一块图片进行拉伸只对imageView有效,对按钮是没有效果的。

如何设置按钮填充:

第一种方式:使用代码拉伸最中间的一个像素。

  

第二种方式:直接对图片进行设置。

  

转载于:https://www.cnblogs.com/zengshuilin/p/5771350.html

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

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

相关文章

click传值vue_对vue下点击事件传参和不传参的区别详解

如下所示:{{btn_text1}}{{btn_text2}}var _vm new Vue({data : {btn_text1 : 点击1 ,btn_text2 : 点击2},methods : {test_click1 : function (e) {console.log(test_click1--------------------------) ;console.log(e) ;// 输出结果:MouseEvent {isTr…

【Golang 源码】sync.Map 源码详解

sync.Map 不安全的 map go 中原生的 map 不是并发安全的&#xff0c;多个 goroutine 并发地去操作一个 map 会抛出一个 panic package main import "fmt" func main() {m : map[string]int {"1": 1, "2": 2,}// 并发写for i : 0; i < 100;…

oracle中scn(系统改变号)

系统scn&#xff1a; select checkpoint_change# from v$database; 文件scn&#xff1a; select name,checkpoint_change# from v$datafile; 结束scn&#xff1a; select name,last_change# from v$datafile; 数据文件头部scn…

sicktim571操作手册_SICK激光传感器TIM310操作说明书

SICK激光传感器TIM310操作说明书最近更新时间&#xff1a;2015/1/23 13:31:29提 供 商&#xff1a;资料大小&#xff1a;1.2MB文件类型&#xff1a;PDF 文件下载次数&#xff1a;709次资料类型&#xff1a;浏览次数&#xff1a;5192次相关产品&#xff1a;详细介绍&#xff1a;…

Tengine 安装配置全过程

在先前的文章中介绍过Tengine&#xff0c;先前只是使用了运维人员配置好的内容&#xff0c;未自己进行过安装配置。周末闲来无事&#xff0c;对于Tengine进行了尝试性的安装。记录下面方便以后再做改进。Tengine官网上有个非常简单的教程&#xff0c;中间并未涉及到一些常用的设…

【Go】sync.WaitGroup 源码分析

WaitGroup sync.WaitGroup 用于等待一组 goroutine 返回&#xff0c;如&#xff1a; var wg sync.WaitGroup{}func do() {time.Sleep(time.Second)fmt.Println("done")wg.Done() }func main() {go do()go do()wg.Add(2)wg.Wait()fmt.Println("main done"…

什么是响应式设计?为什么要做响应式设计?响应式设计的基本原理是什么?...

页面的设计和开发应当根据用户行为以及设备环境&#xff08;系统平台、屏幕尺寸、屏幕定向等&#xff09;进行相应的响应和调整。具体的实践方式由多方面组成&#xff0c;包括弹性网格和布局、图片、css media query的使用等。无论用户正在使用笔记本还是iPad&#xff0c;我们的…

三个数相减的平方公式_快收好这份小学数学公式大全!孩子遇到数学难题时肯定用得上...

必背定义、定理公式1.三角形的面积&#xff1d;底高2 公式 S&#xff1d; ah22.正方形的面积&#xff1d;边长边长公式 S&#xff1d; aa3.长方形的面积&#xff1d;长宽公式 S&#xff1d; ab4.平行四边形的面积&#xff1d;底高公式 S&#xff1d; ah5.梯形的面积&#xff1d…

Eclipse 控制console

http://blog.csdn.net/leidengyan/article/details/5686691

【Go】sync.RWMutex源码分析

RWMutex 读写锁相较于互斥锁有更低的粒度&#xff0c;它允许并发读&#xff0c;因此在读操作明显多于写操作的场景下能减少锁竞争的次数&#xff0c;提高程序效率。 type RWMutex struct {w Mutex // held if there are pending writerswriterSem uint32 // sem…

add.attribute向前端传_前端知识-概念篇

1、一次完整的HTTP事务是怎样的一个过程&#xff1f;基本流程&#xff1a;a. 域名解析b. 发起TCP的3次握手c. 建立TCP连接后发起http请求d. 服务器端响应http请求&#xff0c;浏览器得到html代码e. 浏览器解析html代码&#xff0c;并请求html代码中的资源f. 浏览器对页面进行渲…

【数据库】一篇文章搞懂数据库隔离级别那些事(LBCC,MVCC)

MySQL 事务 文章比较长&#xff0c;建议分段阅读 后续如果有改动会在 Junebao.top 之前对事务的了解仅限于知道要么全部执行&#xff0c;要么全部不执行&#xff0c;能背出 ACID 和隔离级别&#xff0c;知其然但不知其所以然&#xff0c;现在觉得非常有必要系统学一下&#xff…

AFNetworking网络请求与图片上传工具(POST)

AFNetworking网络请求与图片上传工具&#xff08;POST&#xff09; .h文件 #import <Foundation/Foundation.h>/** 成功Block */ typedef void(^SuccessBlockType) (id responsData); /** 失败Block */ typedef void(^FaileBlockType) (NSError *error);interface NetD…

api商品分享源码_SSM框架高并发和商品秒杀项目高并发秒杀API源码免费分享

前言&#xff1a;一个整合SSM框架的高并发和商品秒杀项目,学习目前较流行的Java框架组合实现高并发秒杀API源码获取&#xff1a;关注头条号转发文章之后私信【秒杀】查看源码获取方式&#xff01;项目的来源项目的来源于国内IT公开课平台,质量没的说,很适合学习一些技术的基础,…

Golang 定时任务 github/robfig/cron/v3 使用与源码解析

Cron 源码阅读 robfig/cron/v3 是一个 Golang 的定时任务库&#xff0c;支持 cron 表达式。Cron 的源码真实教科书级别的存在&#xff08;可能是我菜 …&#xff09;,真的把低耦合高内聚体现地淋漓尽致&#xff0c;另外其中涉及的装饰器模式&#xff0c;并发处理等都很值得学习…

修改 cmd 字体为 Consolas

windows 下的 cmd 窗口默认的字体有点难看&#xff0c;长时间使用操作 node.js 有点小疲劳&#xff0c;可以修改注册表替换字体为 Consolas&#xff0c;并且可以全屏 cmd 窗口&#xff0c;代码如下&#xff1a; Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Conso…

mac下安装前端模板引擎Jinja2

在mac本上安装Jinja2&#xff0c;搜索网上介绍的经验&#xff0c;都是说使用easy_install或者pip安装&#xff0c;比如 #sudo easy_install Jinja2 #sudo pip install Jinja2 也有直接使用 #easy_install Jinja2的&#xff0c;但是我使用上述命令安装总是不成功&#xff0c;提示…

为什么要用python不用origin_Python告诉你为什么百度已死

Python3爬虫百度一下&#xff0c;坑死你&#xff1f;一、写在前面这个标题是借用的路人甲大佬的一篇文章的标题(百度一下&#xff0c;坑死你)&#xff0c;而且这次的爬虫也是看了这篇文章后才写出来的&#xff0c;感兴趣的可以先看下这篇文章。前段时间有篇文章《搜索引擎百度已…

关于 HTTP 的一切(HTTP/1.1,HTTP/2,HTTP/3,HTTPS, CORS, 缓存 ,无状态)

HTTP 为什么会出现 HTTP 协议&#xff0c;从 HTTP1.0 到 HTTP3 经历了什么&#xff1f;HTTPS 又是怎么回事&#xff1f; HTTP 是一种用于获取类似于 HTML 这样的资源的 应用层通信协议&#xff0c; 他是万维网的基础&#xff0c;是一种 CS 架构的协议&#xff0c;通常来说&…

AS 2.0新功能 Instant Run

Instant Run上手作为一个Android开发者&#xff0c;很多的时候我们需要花大量的时间在bulid&#xff0c;运行到真机&#xff08;虚拟机&#xff09;上&#xff0c;对于ios上的Playground羡慕不已&#xff0c;这种情况将在Android Studio 2.0有了很大改善&#xff0c;使用instan…