首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

比使用 Image 属性设置图片 显示内容 更丰富; (8) Shadow Offset 属性 Shadow Offset 属性 :  -- 偏移值 : 控制 UILabel 控件内阴影文本与 正常文本...UITextField 属性 (1) PlaceHolder 属性 PlaceHolder 属性 : 属性值是一个字符串, 再文本框没有输入内容时, 文本框内显示的灰色文本, 用于作为文本框提示信息..., 用于强制用户必须输入内容; -- Secure : 勾选后, 输入内容以黑点显示, 用于输入密码; 2....UIScrollView 属性简介 (1) UIScrollView 简介 UIScrollView 简介 :  -- 显示内容多 : 可滚动控件, 可以使用手指拖动控件中的内容, 在其中可以显示多个屏幕的内容...; (2) UIScrollView 显示区域属性 UIScrollView 显示区域属性 :  -- contentSize : 属性是一个 CGSize 类型值, CGSize 是结构体, 包含 width

6.9K20

输入框高度随输入内容变化

实现这个效果的关键点只有两点: 获取正在输入内容在UITextView占用了多少行 让UITextView动态改变大小 一开始,为了解决第一个问题,我一直在考虑怎么获取换行事件,发现只用捕捉\n输入即可...要知道,UITextView是继承UIScrollView的。...UITextView输入文字过多时是可以用手上下拖动浏览内容的,所以可以猜想是和UIScrollView有关系。...好了,知道其集成UIScrollView就好办了,因为UITextView只有在输入内容超过其显示范围才可以拖动,那就知道输入文字的bound就是UIScrollView的contentSize。...这样就知道输入内容的总大小了。 那每一行的高度呢? 按我以前的经验,行高差不多是字体大小的 4/3 倍.这样设值显示效果一般都挺好。所以可以设值一个宏定义来处理与字体相关的高度。

2.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    史上最全的iOS之UITextView实现placeHolder占位文字的N种方法

    前言 iOS开发中,UITextField和UITextView是最常用的文本接受类和文本展示类的控件。UITextField和UITextView都输入文本,也都可以监听文本的改变。...不同的是,UITextField继承自UIControl这个抽象类。UITextView继承自UIScrollView这个实体类。...相比较方法一,方法二可以实现动态监听文本的改变,并非弹出键盘就立即清除placeholder,只有当用户开始输入文本的时候。placeholder才会消失。...同样,当用户清空文本的时候,placeholder又会重新显示出来。...setNeedsDisplay]; } - (void)setText:(NSString *)text { [super setText:text]; if (text.length) { // 因为是在文本改变的代理方法中判断是否显示

    10.7K40

    键盘工具栏的快速集成--IQKeyboardManager

    IQKeyboardManager,是一个键盘工具栏的库: 默认支持UITextField、UITextView、UIWebView、UIScrollView、UITableView、UICollectionView...左右两个切换按钮用来切换不同的文本框 会根据文本框的键盘类型对弹出键盘的样式做出调整  排列依据是看addSubView的先后顺序 右边的done是用来收起键盘的  另外也可以设置点击空白区域收起键盘的属性...中间的文字默认是文本框的占位文字 因为这个库是单例模式的 也就是说无论在哪设置了一个属性 那么这个属性对全局都是生效的  所以一般我习惯把这个方法写在- (BOOL)application:(UIApplication...注意这个颜色是指textfile的tintcolor manager.shouldToolbarUsesTextFieldTintColor = YES; //中间位置是否显示占位文字...boldSystemFontOfSize:17]; //控制是否显示键盘上的工具条。

    904140

    iOS 文本输入控制(献上框架)

    ---- 一、痛点 我们在业务开发中,往往会遇到需要限制文本输入的需求,比如只能输入数字、不能输入空格,稍微复杂一点的比如小数点后最多两位的价格输入。当然,若你的正则表达式玩儿得很溜,这些并不是难题。...以下两种情况,在代理方法里面处理会出现问题: 在这里判断了长度:比如限制最多输入8个字符,我们还想在打几个拼音就会看到textFiled里面文本内容不会增加了,也就是无法继续输入,因为此时jian shu...结论 由此可见,对文本输入的控制需要在两种监听文本输入方法间灵活处理,为了提高开发效率,本人对其做了封装,下面解释一下YBInputControl框架的设计思路和设计模式。...在UITextView中,没有使用这种方法。...而且其父类是UIScrollView,UIScrollView中有着delegate属性,在UITextView的setDelegate:中肯定会有着对父类代理的操作,这里面的逻辑不得而知,所以这里不能使用代理转接的思路强行插入逻辑

    1.1K120

    键盘工具栏的快速集成--IQKeyboardManager

    默认支持UITextField、UITextView、UIWebView、UIScrollView、UITableView、UICollectionView 左右两个切换按钮用来切换不同的文本框 会根据文本框的键盘类型对弹出键盘的样式做出调整...排列依据是看addSubView的先后顺序 右边的done是用来收起键盘的 另外也可以设置点击空白区域收起键盘的属性 中间的文字默认是文本框的占位文字 因为这个库是单例模式的 也就是说无论在哪设置了一个属性...注意这个颜色是指textfile的tintcolor manager.shouldToolbarUsesTextFieldTintColor = YES; //中间位置是否显示占位文字...boldSystemFontOfSize:17]; //控制是否显示键盘上的工具条。...manager.enableAutoToolbar = YES; //某个类中禁止使用工具条,已经不能用了 // [[IQKeyboardManager sharedManager]disableToolbarInViewControllerClass

    1.5K110

    小程序iOS客户端框架——控件事件逻辑框架与控件原生化(下)

    ,让开发者具有更广阔的开发想象空间;输入控件分别引入了iOS原生的UITexField和UITextView,提供了HTML输入框无法满足的定制化输入键盘等功能。...负责绘制网页中的全部HTML元素,视频控件插入后将覆盖网页中的所有HTML元素: ?...原生控件插入到WKWebView后将覆盖控件树中的HTML节点) 如上图,插入的原生控件必然总是盖住网页(节点树中越靠下的节点,显示层级越高),这样就会导致: 1 如果开发者期望在原生控件上覆盖一些自定义...HTML元素,将无法被支持到。...由于WKWebView会接管用户的所有操作事件,因此按照上述方案插入后,原生控件是无法响应用户事件的。

    2.9K40

    编码篇-iOS开发中的奇巧小伎

    33、获取手机RAM容量 34、在UITextView中显示html文本 35、选中textField或者textView所有文本(我这里以textView为例) 36、隐藏UITextView/UITextField...光标 37、当UITextView/UITextField中没有文字时,禁用回车键 38、通知监听APP生命周期 39、获取collectionViewCell在屏幕中的frame 40、UITextField...45、使用xib设置UIView的边框、圆角 46、将一个xib添加到另外一个xib上 47、处理字符串,使其首字母大写 48、获取字符串中的数字 49、自动搜索功能,用户连续输入的时候不搜索,用户停止输入的时候自动搜索...自己键盘打出的 % 汉字形式下的还是会报警告,并且不会显示出来.把上文的粘贴过去使用吧!...中显示html文本 UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(20, 30, 100, 199)]; textView.backgroundColor

    5.4K10

    iOS学习——键盘弹出遮挡输入框问题解决方案

    ,一般用于进行输入信息的有两类:UITextField和UITextView,前者是单行输入文本框,后者是可滑动的多行输入文本框,在这整个开发过程中,我们需要控制键盘的弹出和收起、在输入结束的时候获取输入的信息...今天,我们就主要来说一下文本框输入的完整响应过程以及最后这个遮挡问题的解决方案。...一 文本框输入完整的响应过程    首先,我们要对UITextField和UITextView的输入输出进行控制,需要借助其对应的代理协议UITextFieldDelegate或UITextViewDelegate...中的一些方法,两者在控制文本框中的相应流程稍有差别,但是都差不多,接下来,我们就从官方文档中开学习一下文本框输入完整的响应过程。...first responder),文本框成为第一响应者的结果就是可以输入文本内容并弹出键盘,所以,我们可以在这个方法中通过返回值来判断是否弹出键盘。

    3.7K60

    iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决

    最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的...cell,导致我们无法很方便地查看到我们输入的内容,这样的体验是非常不好的。...下面的流程就是UITextField或UITextView在整个编辑过程中的详细流程步骤: 在成为第一响应者之前,文本框调用其代理的textFieldShouldBeginEditing:  方法来允许或阻止其第一响应者...field中定位了,键盘也已经弹出来了,接下来可以进行输入了 在输入信息过程中,当前文本内容改变就会调用,textField:shouldChangeCharactersInRange:replacementString...  在文本框输入即将结束,即即将注销第一响应者时,系统会调用 textFieldShouldEndEditing: 方法 文本框注销第一响应者,对应的响应时间就是系统收回键盘,并且在隐藏键盘时会发出 UIKeyboardWillHideNotification

    3.9K80

    ios学习——键盘的收起

    在开发过程中,我们经常会用到UITextField、UITextView等文本框,然后这些文本框在点击之后会自动成为第一响应者(FirstResponder),并自动弹出软键盘。...然而,没有自动定义好的软键盘的回收。今天,我在开发过程中就遇到了这个问题,首先,软键盘收起会发生在两种情况下,一是当前区域为非第一响应者,二是当前区域的输入结束。...UITextField、UITextView等文本框都有效,不需要对每一个UITextField、UITextView等文本框进行进行设置。...2、利用键盘上的 回车键 来进行设置当前UITextField、UITextView等文本框不是第一响应者,这种方法对UITextField、UITextView的应用不一样,需要区别进行。   ...但是,我们可以根据UITextViewDelegate提供的方法对键盘输入的值进行判断,如果为回车键(\n)则设置当前UITextView不是第一响应者,否则不操作。

    1.9K60

    iOS文本布局探讨之三——使用TextKit框架进行富文本布局

    iOS文本布局探讨之三——使用TextKit框架进行富文本布局 一、引言         关于图文混排,其实以前的博客已经讨论很多,在实际开发中,经常使用第三方的框架来完成排版的需求,其中RCLabel...iOS开发封装一个可以响应超链接的label——基于RCLabel的交互扩展:http://my.oschina.net/u/2340880/blog/550194。...CoreText是一个比较底层且十分强大的文本渲染框架,但是其使用起来并不是十分方便。在较低版本的iOS系统中,要进行富文本排版十分困难。...在iOS6中,系统为UILabel,UITextView等这类文本渲染控件引入了NSAttributedString属性,有了NSAttributedString这个类,创建灵活多彩的文本控件变得十分轻松...三、为富文本附件添加用户交互能力         TextKit框架强大到只使用UILabel就可以完成复杂的富文本布局,但是UILabel有一个致命的缺陷,其无法进行用户交互。

    2.1K20

    IOS开发之视图和视图控制器

    3.界面都是视图对象,即在UIView类的实例中进行布局,UIView表示屏幕上的一块矩形区域,负责渲染矩形区域中的内容,并且响应该区域内发生的触摸事件。...视图层大致分为下面的几类         1.容器视图                 容器视图用于增强其他视图的功能,或者为视图内容提供额外的视觉分隔,比如UIScorllView类用于显示因内容太大而无法显示在一个屏幕上的视图...UITableView类是UIScrollView类的子类,用于管理数据列表,如图二,还有其他的容器视图在这就不一一列举啦。 ?         ...4.文本和Web视图                 文本和web视图为应用程序提供更为高级的显示多行文本的方法。...UITextView类支持在滚动区域内显示和编辑多行文本;而UIWebView类则提供显示HTML内容的方法          ?

    1.8K70

    iOS文本布局探讨之一——文本布局框架TextKit浅析

    iOS文本布局探讨之一——文本布局框架TextKit浅析 一、引言         在iOS开发中,处理文本的视图控件主要有4中,UILabel,UITextField,UITextView和UIWebView...TextKit是一个偏上层的开发框架,在iOS7以上可用,使用它开发者可以方便灵活处理复杂的文本布局,满足开发中对文本布局的各种复杂需求。...TextKit实际上是基于CoreText的一个上层框架,其是面向对象的,如果TextKit中提供的API无法满足需求,可以使用CoreText中的API进行更底层的开发。        ...在TextKit框架中,提供了几个类分别对应处理上述的必要条件: 1.NSTextStorage对应要渲染展示的内容。 2.UITextView对应要渲染的视图。...三、使用TextKit进行文本布局流程         个人理解,TextKit主要用于更精细的处理文本布局以及进行复杂的图文混排布局,使用TextKit进行文本的布局展示十分繁琐,首先需要将显示内容定义为一个

    1.9K10

    Cobub无码埋点关键技术实现流程(附图)

    有码埋点比较容易理解,即调用SDK的API,在代码中插入埋点的相关代码,实现用户行为采集。...本文主要介绍无码埋点的技术实现。 无码埋点的实现流程 1.可视化视图圈选,在页面上会出现浮动的圆圈,拖动圆圈至想配置事件的控件上,将会弹出输入事件的弹框。...2.在上一步的弹框中输入自定义的事件名称,名称将会和视图的viewPath绑定起来。viewPath是视图的唯一标识,在下文中将详细讲解。...由于event参数是nil,最终找到的视图并不一定是能响应用户手势的视图,如果不能响应则遍历其父视图,直到找到能响应用户行为的视图。...UIScrollView,UITextView,UITableView,UICollectionView 类型的控件,先hook -(void)setDelegate:(id)delegate 方法,然后再

    1.4K60

    iOS自定义的emoji表情键盘 原

    emoji表情是unicode码中为表情符号设计的一组编码,当然,还有独立于unicode的另一套编码SBUnicode,在OS系统中,这两种编码都有很好的支持。...在iOS端,可以有另一种方式,通过上面我们知道,通过SBUnicode码我们可以在客户端显示表情符号,并且这个码的排列是十分有规律的,通过这个特点,我们可以通过遍历SBUnicode码的范围进行表情的创建...0:1);     pageControlBottom.currentPage = page; } 三、切换系统键盘和自定义的表情键盘         UITextField和UITextView都会有下面这个属性和方法...readwrite, strong) UIView *inputView;    - (void)reloadInputViews; inputView我们可以设置textView和textField成为第一响应时的弹出附件...追注:测试上面的SBUnicode码在模拟器上可以正常显示,真机并不能识别,可以通过将表情符全部添加到一个plist文件中,通过文件读取来创建键盘的方式进行真机上的开发。

    3K10

    Swift 小仿微博列表

    这个示例的主要内容有三个方面:     一、UITextView富文本的实现     二、图片转场和浏览动画     三、界面流畅度优化 ? 富文本点击效果 ?...图集浏览效果 一、UITextView富文本的实现 标题的富文本显示样式我是参考微博的:@用户昵称、#话题#、图标+描述、[表情]、全文:限制显示字数,点击链接跳转或查看图片 比如第一条数据的标题原始字符串为...——> 正则匹配后富文本显示为:@wsl2ls: 不要迷恋哥,哥只是一个传说 查看图片, 是终将要成为#海贼王#的男人!// @蜜桃君?: ?...1、列表页cell中的imageView的大小是固定平均分配的,而每张图片的大小和比例都是不一样的,为了保证图片不变形,按比例只展示图片的中心部分,怎么做哪?...捏合放大缩小动画是由继承于UIScrollView的子类SLPictureZoomView完成;触摸点双击放大是根据触摸点在图片的位置和屏幕上的位置得到放大后的触摸点相对位置来实现的;拖拽过渡转场是根据手指在屏幕上的移动距离来调整

    1.4K30
    领券