关于UITextField的UIControlEventValueChanged事件无响应的问题 监听UITextField文本改变的事件不是使用这个枚举 而是使用 UIControlEventEditingChanged 这是非常多开发人员可能会遇到的问题 错误的写法 [textField addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged]; 正确的写法: [te…
今天在做项目的过程中,其中有三个控件: UITextField, UITextView , UILabel, 后来发现个问题:如果什么数据都不回填给textField.text 和 textView.text  传递的是:textField.text =   textView.text =  .(其实就是个空的字符串),但是label 的却不是,log的是:label.text = (null).这样传的值总会导致程序Crash. 尝试了几种方法修改label.text ,但是最终都没有成功.最…
UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedControl分段控件.UISlider滑块.UITextField文本字段控件.UIPageControl分页控件. 控件是对UIView派生类的实用增强及补充,并可以直接附着于导航栏.表格单元,甚至更大的对象. 这些控件的基类均是UIControl,而UIControl派生自UIView类,所以每个控件都有很多视图的特性,包括附着于其他视图的能力.所有控件都拥有一套共同的属性和方法. 所以学习控件,我…
第一部分 UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedControl分段控件.UISlider滑块.UITextField文本字段控件.UIPageControl分页控件. 控件是对UIView派生类的实用增强及补充,并可以直接附着于导航栏.表格单元,甚至更大的对象. 这些控件的基类均是UIControl,而UIControl派生自UIView类,所以每个控件都有很多视图的特性,包括附着于其他视图的能力.所有控件都拥有一套共同的属性和方法. 所以学…
UITextView,UITextfield中有很多坑,网上的方法也很多,但是用过之后暂时没有发现一个好用.这里我给大家几组测试用例可以一试,为啥不好用. 限制10个字节,输入2个Emoj之后是8个字节(一个Emoj是4个字节),此时再输入一个中文,看看结果如何(中文的UTF8占3个字节) 限制5个字符,一个Emoj是2个字符,其他都是一个.此时输入两个Emoj,再输入中文,然后中文联想试试. 就目前的情况来说,看了很多资料,并没有一个通用的能限制字符数和字节数的封装.这里全面进行了总结,并进行…
[2018年中秋节良心写作]文章将尽可能的全面介绍UITextField的所有相关知识,逻辑连贯,需要认真理解,一气呵成. 关键词: 屏幕键盘(onscreen keyboard).键盘自定义.键盘类型.规范输入源.目标动作机制(terget-action).委托(delegate).控件.覆盖视图.内建.targets和actions UITextField类 这是一个在界面中显示可编辑文本区域的对象. 一.概括 使用UITextField这个对象,可以收集用户在使用屏幕键盘[]过程中基于文本…
本文目录 0.UIView常用的属性和操作 0_1.UIView常见的属性 0_2.UIView状态 0_3.UIView常用的方法 1.文本框UITextField和文本视图UITextView 1_1.文本框UITextField(几乎包含了iOS控件的所有的通用属性) 1_2.文本视图UITextView 1_3.键盘输入的处理程序 2.标签UILabel和按钮UIButton 2_1.标签UILabel 2_2.按钮UIButton 3.滑块UISlider.步进UIStepper和图像…
UIControl是UIView的子类,当然也是UIResponder的子类.UIControl是诸如UIButton,UISwitch,UItextField等控件的父类,它本身包含了一些属性和方法,但是不能直接食用UIControl类,他只是定义了子类都需要使用的方法. UIControl对象采用了一种新的事件处理机制,将前一节指节处理的触摸时间直接转换为简单操作,这样可以无需关心用户访问控件的具体方式.触摸事件到达UIControl对象(由响应链者派遣)后,在UIResponder的方法中…
UIControl-IOS开发   UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedControl分段控件.UISlider滑块.UITextField文本字段控件. UIPageControl分页控件. 控件是对UIView派生类的实用增强及补充,并可以直接附着于导航栏.表格单元,甚至更大的对象. 这些控件的基类均是UIControl,而UIControl派生自UIView类,所以每个控件都有很多视图的特性,包括附着于其他视图的能力.所有 控件都拥有…
本文译自 How to build a custom control in iOS .大家要是有什么问题,可以直接在 twitter 上联系原作者,当然也可以在最后的评论中回复我. 在开发过程中,有时候UIKit的标准控件并不能满足我们的需求,例如你需要一个控件能支持用户方便的选择0-360°之间的一个角度值,此时就需要根据自己的需求自定义控件了. 对于选择角度值的控件可以这样实现:创建一个圆形的滑块,用户通过拖动手柄操作就能选择角度值.实际上这样的控件在别的一些平台中你可能看到过,但是在UIK…
UIKit提供了一组控件:UISwitch开关.UIButtonbutton.UISegmentedControl分段控件.UISlider滑块.UITextField文本字段控件. UIPageControl分页控件. 控件是对UIView派生类的有用增强及补充,并能够直接附着于导航栏.表格单元,甚至更大的对象. 这些控件的基类均是UIControl,而UIControl派生自UIView类,所以每一个控件都有非常多视图的特性,包含附着于其它视图的能力.全部 控件都拥有一套共同的属性和方法.…
如:自定义一个可以点击的 图文 #import <UIKit/UIKit.h> @interface UD_Button : UIControl @property(nonatomic,strong)UIImageView *contentImageView; @property(nonatomic,strong)UILabel *contentLabel; - (instancetype)initWithFrame:(CGRect)frame centerInset:(CGFloat)cen…
本文转载至 http://dreamahui.iteye.com/blog/1878922 IOS开发总结 by mhmwadm (感谢mhmwadm) 2013/4/10 1 XCode快捷键 4 2 Objective-C 4 2.1 代码混编 4 2.2 代码中字符串换行 5 2.3 不要调用[super  release] 5 2.4 判断一个字符串是否包含另一个字符串: 5 2.5 没有用到类的成员变量的,都写成类方法 5 2.6 category可以用来调试 5 2.7 Catego…
在UI控件中UIButton是极其常用的一类控件,它的类对象创建与大多数UI控件使用实例方法init创建不同,通常使用类方法创建: + (id)buttonWithType:(UIButtonType)buttonType; 如果使用实例方法创建UIButton对象,如: UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(100, 300, 100, 50)]; 对象的创建是没有任何问题的,但是当为这个button对象设置一…
文本框(UITextField) 本章节继续编辑 JXHypnoNerd .文件地址 . 首先我们继续编辑  JXHypnosisViewController.m 修改  loadView 方法,向  view 中添加一个 UITextField 对象: #import "JXHypnosisViewController.h" #import "JXHypnosisView.h" @interface JXHypnosisViewController () @end…
一.初始化 二.常见的属性 1.segmentedControlStyle属性:设置基本的样式 2.momentary属性:设置在点击后是否恢复原样 . 3.numberOfSegments属性:只读,获取总选项数. 4.apportionsSegmentWidthsByContent属性:设置是否根据segment的内容改变segment的宽度,默认为NO,宽度相同. 5.selectedSegmentIndex属性:设置选中第几个segment,一般用于初始化时选中. 6.tintColor…
一.创建 UISegmentedControl* mySegmentedControl = [[UISegmentedControl alloc]initWithItems:nil]; 是不是很奇怪没有指定位置和大小呢?没错,我确实在他的类声明里只找到 initWithItems 而未找到 initWithFrame ,所以他不需要指定,不过我看到了另一个方法,这个方法可以设置Item的宽度: mySegmentedControl setWidth: forSegmentAtIndex:];//…
#import "ViewController.h" #import "TuanGouModel.h" #import "TuanGouTableViewCell.h" #define kDeviceWidth [UIScreen mainScreen].bounds.size.width #define kDeviceHeight [UIScreen mainScreen].bounds.size.height @interface ViewC…
不知道UIRefreshController是什么的朋友可以参考iOS6新特征:UIRefreshControl[下拉刷新]使用示例 一文了解这是什么,这里只提怎么使用代码的方式触发UIRefreshControl显示spinner动画,并发起正常情况下下拉之后进行的流程. 项目中需要在界面显示出来的时候进行自动拉取数据并刷新界面,要用一个UIRefreshControl显示其过程. 界面VC是一个UIViewController,tableview被添加到其中,UIRefreshControl…
IOS第六天(3:scrollView 图片轮播器) #import "HMViewController.h" #define kImageCount 5 @interface HMViewController () <UIScrollViewDelegate> @property (nonatomic, strong) UIScrollView *scrollView; @property (nonatomic, strong) UIPageControl *pageCo…
@在IOS5中增加了一个UIStepper的新控件,UIStepper可以连续增加或减少一个数值.控件的外观是两个水平并排的按钮构成,一个显示为“+”,一个显示为“-”. 1. 初始化控件 UIStepper *_stepper = [[[UIStepper alloc] initWithFrame:CGRectMake(120, 20, 0, 0)] autorelease]; // 响应事件 [_stepper addTarget:self action:@selector(updateVa…
ViewController.h文件中: @interface ViewController : UIViewController - (IBAction)sliderValueChange:(UISlider *)sender; - (IBAction)setting; - (IBAction)nightMode:(UISwitch *)sender; - (IBAction)imageSizeChange:(UISlider *)sender; @property (weak, nonato…
UISwitch //开关    不用设置宽高  有默认宽高 UISwitch * sw = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 0, 0)]; //开关的状态 sw.on = YES; //开关打开时的颜色 sw.onTintColor = [UIColor redColor]; //开关关闭时的颜色 sw.tintColor = [UIColor cyanColor]; //开关圆圈的颜色 sw.thumbTintColo…
一个NSNotificationCenter对象(通知中心)提供了在程序中广播消息的机制,它实质上就是一个通知分发表.这个分发表负责维护为各个通知注册的观察者,并在通知到达时,去查找相应的观察者,将通知转发给他们进行处理. 本文主要了整理了一下NSNotificationCenter的使用及需要注意的一些问题,并提出了一些未解决的问题,希望能在此得到解答. 获取通知中心 每个程序都会有一个默认的通知中心.为此,NSNotificationCenter提供了一个类方法来获取这个通知中心: + (N…
UISwitch开关控件 开关代替了点选框.开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化. 一.创建 UISwitch* mySwitch = [[ UISwitchalloc]initWithFrame:CGRectMake(200.0,10.0,0.0,0.0)]; 是不是很奇怪,大小竟然是0.0×0.0,没错,系统会自动帮你决定最佳的尺寸,你自己写的尺寸会被忽略掉,你只要定义好相对父视图的位置就好了.默认尺寸为79 * 27. 二.显示控件 [ parrentView…
[Demo下载地址]https://git.oschina.net/remainedmute/PhoneNumDemo.git 相关博客http://www.jianshu.com/p/00da4d87b777 1.在UITextField的代理方法中实现手机号只能输入数字并满足我们的要求(首位只能是1,第二位只能是3,4,5,7,8其它不限制) #pragma mark UITextFieldDelegate - (BOOL)textField:(UITextField *)textField…
iOS开发之“键盘遮挡输入框的解决办法”之一 -----键盘通知之前处理这种问题,总是在触发输入框编辑事件键盘弹出的时候,将当前的View整体向上移动,结束编辑又整体向下移,耗时耗力效率低. 在网上看了使用键盘通知的方法很是方便,所以写了个demo供初学者参考! 1.在ViewController.m文件声明 #import "ViewController.h" @interface ViewController ()<UITableViewDelegate,UITableVie…
一.控件的属性 1.CGRect frame 1> 表示控件的位置和尺寸(以父控件的左上角为坐标原点(0, 0)) 2> 修改这个属性,可以调整控件的位置和尺寸 2.CGPoint center 1> 表示控件的中点(以父控件的左上角为坐标原点) 2> 修改这个属性,可以调整控件的位置 3.CGRect bounds 1> 表示控件的位置和尺寸(以自己的左上角位坐标原点,位置永远是(0, 0)) 2> 修改这个属性,只能调整控件的尺寸 4.int tag 1> 表…
分段控件,提供了一组按钮,但是只能激活一个.通过UIControlEventValueChanged事件实现与用户的交互,并通过selectedSegmentIndex判断当前选定的控件,通过titleForSegmentAtIndex可以获取当前选中控件的标题. - (void)viewDidLoad { [super viewDidLoad]; //分段控件中各控件的标题 NSArray *array = @[@"未支付",@"已支付",@"已到货&q…
概述 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限.当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容,普通的UIView不具备滚动功能,不能显示过多的内容.UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 UIScrollView的常见属性 UIScrollView的常用代理方法 UIScrollView的缩放 UIScrollView使用 基本使用 UIScrollView的用法很简单,将…