在iOS中UITextField这个控件作为文本输入控件一定是使用率最高的几个控件之一,而iOS提供的默认的原始TextField的造型肯定在开发时很难满足我们的要求,原因很简单,不够美观,实在太单调。...键盘的收起 首先我们先来看UITextField的键盘弹出和回收,UITextField在默认的情况下,键盘在输入完成后是不会自动回收的,这里我们讲解如何在按下Return键时,键盘自动回收。...placeholder的设置 在一些特定功能的文本输入框,我们常常要设置placeholder属性来指明当期UITextField的功能,例如:请在此处输入密码。...placeholder的位置之后,我们也要相应的调整文本显示的位置,以及在编辑完成后,文本显示在输入框的位置。...至于placeholder的字体和字体大小设置 可以用如下方法设置,记住这个方法写在子类化的UITextField中是没有效果的,一定要写在创建UITextField的过程中。
今天在工作中,搭建一个登录界面,因为涉及到用户名和密码的输入,所以在iOS中我们免不了要用到UITextField这个常见的输入控件。...UITextField效果 这里我们能看到这个UITextField的基本要求有如下几个: 输入框内有提示图片 之后输入的文字与输入框内的图片有间距 输入框有圆角 大致分为上面的三个特殊要求,那么我们一个一个来分析...我们可以子类化一个TextField,去复写它的一个方法来设置leftView的位置 - (CGRect)leftViewRectForBounds:(CGRect)bounds { CGRect...如果这时候我们在输入框中打字,会发现leftview确实跟最初的输入框产生的距离,但是我们打出来的字还是紧紧的黏在图片上,用户体验也极差,根据上面的思路,我们可以接着在这个子类中复写它的设置方法来实现。...; 写到这里,这个UITextField在界面上的要求就已经基本完成了,一般我们用到的常用属性也就是这些。
版本和Objective-C版本不同,在swift中,alertView的初始化只允许创建拥有一个取消按钮的对话框视图。...以前我们只能在默认视图、文本框视图、密码框视图、登录和密码输入框视图中选择,现在我们可以向对话框中添加任意数目的UITextField对象,并且可以使用所有的UITextField特性。...first as UITextField var password = alertController.textFields?....first as UITextField var okAction = alertController!....本文的代码可以在我的Github主页上找到,包括了AlertController - ObjC以及AlertController - swift。
6EDD4AC9-47E3-401F-91A4-2DA836439787.png Demo开始之前,我们想想应该会使用到屏幕宽高等一些常用的值,在OC中,咱们可以使用PCH然后宏定义,然而在Swift中...=UITextField() var userTextF : UITextField?...fatalError("init(coder:) has not been implemented") } } 代码中自定义的单元格加上了一个ImageView和一个Label,虽然数据是死的,但是在Swift...学了这么几天,我发现Swift还是比较容易入手的,下篇文章我会用一个小的项目,本人是做室内地图SDK的,这次的小项目是仿我OC写的SDK Demo,使用Swift和OC混编,集成百度地图SDK和自己的室内...在下篇文章中会讲讲,Swift项目已上github:https://github.com/qingmomo/Swift-die OC版的demo在我们官网:http://www.innsmap.com
,或者是子试图的子试图。...33、获取手机RAM容量 34、在UITextView中显示html文本 35、选中textField或者textView所有文本(我这里以textView为例) 36、隐藏UITextView/UITextField...光标 37、当UITextView/UITextField中没有文字时,禁用回车键 38、通知监听APP生命周期 39、获取collectionViewCell在屏幕中的frame 40、UITextField...,或者是子试图的子试图。...文字周围增加边距 // 子类化UITextField,增加insert属性 @interface WZBTextField : UITextField @property (nonatomic, assign
只需将您需要设置的对象子类化,覆盖其初始化程序并在那里进行设置——完成!...尽管子类化是一项重要的语言功能,即使在面向协议的编程时代,也很容易将自定义设置与自定义行为混淆。我们并没有在上面的UILabel中真正添加任何新行为,我们只是在设置一个实例。...尤其是在使用子视图控制器时,我们通常最终会得到一组视图控制器,它们只能在其中呈现特定状态,而不是在其中包含大量逻辑。对于那些视图控制器,将其设置移动到静态工厂API可能是一个很好的解决方案。...特别是如果与"Swift:将子视图控制器用作插件" 中的便捷API的稍加修改版本结合使用,我们现在可以在执行异步操作时轻松添加预先配置的加载视图控制器: class ProductListViewController...handle(result) } } } 对添加便捷API的唯一修改是使其返回添加的子视图控制器,从而可以在使用点语法的同时获取对其的引用。
,在子页面返回主页面之前调用代理中定义的数据传递方法(方法参数就是要传递的数据);最后,在主页面中遵从该代理,并实现代理中定义的方法,在方法的实现代码中将参数传递给主页面的属性。...使用步骤: 在子页面中添加一个代理协议,在协议中定义一个传递数据的方法 在子页面.h文件中添加一个代理属性 //子页面的.h文件,定义代理以及代理属性 // 声明代理 @protocol BToADelegate..."]; } [self.navigationController popViewControllerAnimated:YES]; } 在主页面中遵从该代理,并实现代理中定义的方法,在方法的实现代码中将参数传递给主页面的属性...,在子页面返回主页面之前调用该块语句。...在主页面跳转子页面之前,设置子页面中的块语句属性将要执行的动作(回调函数)。这样,在子页面返回主页面时就会调用该回调函数来传递数据。
6B27-46C7-96A7-77BF0FB21C66.png 创建好工程后,我们会进入这个界面 C18EA84A-89AF-4920-8824-1CF1F2CA8B8C.png 好了开始编程:写一个创建子视图的方法...,里面创建一些基本的UI控件,然后在viewDidLoad中调用: override func viewDidLoad() { super.viewDidLoad()...// 2.UITextField let myTextF = UITextField(frame: CGRectMake(50,300,100,30))...super.viewDidLoad() self.createSubViews() } func textFieldShouldReturn(textField: UITextField...myImgView.frame = CGRectMake(200, 200, 100, 100) } 写到这里,我想有OC经验的开发者已经发现,两种语言控件的属性是一样的,只是语法有些不一样而已,多写几个就会发现Swift
之前在iOS工作中,类之间的传值,无非就是block、delegate代理、KVO、notification这几种方法。...在RAC中,同样具备替代KVO、delegate代理、通知、UI target、计时器timer、数据结构等各种方法。...可直接在block中将逻辑代码加入其中,使得代码紧凑,更加直观。 ...使用RAC代替KVO监听属性变化 3. delegate代理 以UITextField为例,当需要对UITextField逻辑处理时,往往需要实现其各类代理方法,大大增加了代码量。...block代码块中,当触发监听的代理方法时返回元组类型数据,与swift中的元组类型有所区别,此处的元组看起来更像是数组。 ? 打印结果 4. Notification通知 ? RAC通知使用 ?
blog.csdn.net/lizhongfu2013/article/details/29210015 主要想要实现一个模仿的登陆界面 代码: // // LoginViewController.swift...() var PassNumber = UITextField() override func viewDidLoad() { self.view.backgroundColor...UIColor.whiteColor() super.viewDidLoad() // 添加头图片 [self .addAllSubViews()]; } // 添加所有子控件...) // 添加头图片 [self .addAllSubViews()]; } // 添加所有子控件... 对xml解析类的封装: NSXMLParser(data: data),这个有几种初始化的方法,但是string就不行,得转换成NSdata,还是比较蛋疼的 // // VMXMLParser.swift
Controller 传值 控制器之间经常需要互相传递值,第一个控制器(简称 MasterVC)在通过 NavigationController Push 第二个控制器(简称 DetailVC)的时候,...MasterVC.text = "xxx" } } 这样虽然行得通,但是代码丑陋:类似 viewWillAppear 这样的方法,让人难以读懂,为什么这样的事情要在这个地方做,没有明显的道理;在...// PassDataDelegate.swift import Foundation protocol PassDataDelegate { func setControllerTitle...{ @IBOutlet weak var textField: UITextField!...import UIKit class DetailVC: UIViewController { @IBOutlet weak var textField: UITextField
想要实现的效果例如以下: 步骤: 1、新建一个基于Singal View Application 的project,然后删掉storyboard,在新建两个新文件 Main.xib 和 Main.swift...一个用于展示todo list 的 tableView,然后关联一个 tableView 变量到 Main.swift文件 2、接下来设置 Mian 为rootViewController,在AppDelegate.swift...3、然后在Main.swift 中编写一下TableView 的数据源和代理的方法。这里我们用的是 自己定义的 Cell。...记得绑定(同步骤1),Add.xib UI例如以下: 为了在Main.swift 中接收到 Add.xib 中用户输入的信息,我们在 Add.swift 定义一个协议。...然后Main.swift 遵循这个协议,在Add.xib 界面消失前获取用户输入信息。
XCTest是iOS的单元测试框架,有objective-c和swift两种语言可以选择。Xcuitest是iOS的UI测试框架。...写一个简单的登录页面,需要帐号 & 密码两个输入框、登录按钮,效果如下图: 1、在ViewController层可以编写业务逻辑,给控件增加触发事件。...2、在Main.storyboar添加控件 Main.storyboar有点像Android中的activity中的布局文件,添加用户名和密码两个便签和输入框增加一个登录按钮。...IBAction) userLogin:(id)obj; @end userLogin方法方法进行绑定 4、输入框绑定事件 在再ViewController.h里面添加字段,并相应设置字段的属性。...UITextField *tfPWD; } @property (nonatomic, retain) IBOutlet UITextField *tfUserName; @property (nonatomic
} } layoutSubviews调用时机 reference init:不会调用layoutSubviews addSubview::被添加的view1、调用这个方法的view2、view2的所有子view...都会调用layoutSubviews setFrame:只有在view设置frame且尺寸参数有不同的情况下调用 滑动UIScrollView时,scrollView和其父view会调用 旋转屏幕会在viewController...lies inside the bounds. } UIView调用presentViewController reference 自动布局下获取View的尺寸 reference 把touch事件传递给子View...; ---- 其他 Cocoapods pod install 太慢 reference pod install --verbose --no-repo-update 标注代码段 reference 在OC...里经常用 #pragma mark - xxxx 来分隔代码 Swift里用的是 // MARK: - xxx
用一个pan手势来代替UISwipegesture的各个方向,拉伸图片,播放GIF,上拉刷新,把tableview里cell的小对勾的颜色改变,navigationbar弄成透明的而不是带模糊的效果,改变uitextfield...Objective-C编码规范:26个方面解决iOS开发问题 - 【Objective-C】编程规范:26个方面解决iOS开发问题:“我们制定Objective-C编码规范的原因是我们能够在我们的书,...迅速 Swift开源项目精选-v1.0 - Swift开源项目精选-v1.0。 Swift开源项目精选 - Swift开源项目精选 - 推荐,每周都有更新。...Swift中文指南 - English苹果官方Swift教程“Swift编程语言”,老码版本历史版本更新说明。 Swift编程语言中文版 - Swift编程语言中文版。...Swift-On-iOS - JohnLui的Swift在iOS代码仓库上。 30DaysofSwift - 30DaysofSwift自学iOS - 三十天三十个Swift项目。
整个2017年我完全使用 Swift 进行开发了。使用 Swift 进行开发是一个很愉快的体验,我已经完全不想再去碰 OC 了。最近想做一个响应式编程的库,所以就把它拿来分享一下。...在响应式里面,我们监听请求,当请求完成时,观察者得到更新。...绑定一个 Signal,只需要在 Extension 中给 UITextField添加一个计算属性 : extension UITextField { var signal: Signal { let...写个 VC 测试一下: class VC { let textField = UITextField() var signal: Signal?...map map 比较简单,就是将一个 返回值为包装值的函数 作用于一个包装(Wrapped)值的过程, 这里的包装值可以理解为可以包含其他值的一种结构,例如 Swift 中的数组,可选类型都是包装值。
@IBOutlet weak var rePwdTextField: UITextField!...首先我们在Service文件中创建一个ValidationService类,最好不要继承NSObject,Swift中推荐尽量使用原生类。...基于此,我们创建一个Protocol.swift文件,创建一个enum用于表示我们处理结果,所以,我们在Protocol.swift文件中添加如下代码: enum Result { case ok...所以,我们在Protocol.swift文件中添加如下代码: extension Result { var isValid:Bool { switch self {...接下来我们在LoginViewController.swift中写,它看来像这样子的: override func viewDidLoad() { super.viewDidLoad()
在Swift2.0中,UITextFile 和 UITextView 的使用总体上和在OC中是一样的,今天只是给大家一段代码,然后说UITextView里面的光标位置的问题。...self.automaticallyAdjustsScrollViewInsets = false; // textFile let textfile:UITextField...= UITextField(frame: CGRectMake(10, 300, 200, 50)) textfile.layer.borderWidth = 1 textfile.layer.borderColor
,会从视图树的顶端开始对视图的body求值,如果其中还包含子视图则将递归求值,直到获得最终的结果。...尽管我们声明了一个Binding类型的text,并且在makeUIView中将其赋值给了textfield,不过UITextField并不会将我们录入的内容自动回传给BindingUITextfield在每次录入文字时,都会自动调用func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange...最后在makeUIView中添加: textfield.delegate = context.coordinator UITextField在发生特定事件后将在协调器中查找并调用对应的代理方法。...作为将函数视为一等公民的Swift,实现上述的链式调用非常方便。
领取专属 10元无门槛券
手把手带您无忧上云