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

UIScrollView的一步步实现1 简介1.1 工作原理1.2 UIScrollView常见的几个重要控件1.3 UIScrollView常见的重要属性1.4 手工代码实现拖动2 三个重要属性的进

移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限。当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容。...UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 1.1 工作原理 在缩放的时候,原理是操作被缩放控件的的transform数值。...1.2 UIScrollView常见的几个重要控件 UITableView UICollectionView UITextView 1.3 UIScrollView常见的重要属性 属性名 作用 contentSize...(靠近边缘-不会滚动到边缘外侧),如果当前区域完全可见,则什么也不做 如果指定的区域已经在可视范围,不会滚动 如果指定的区域完全超出contentSize的范围,不会滚动 如果指定的区域超越了当前可视区域...和普通的内边距作用相反,不是让内容向里面缩进。是在不改变原有的contentSize基础上,让scrollView中的内容向四周多滚动一些。

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

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

    ; -- 高亮 : UI 控件突出显示, 处于高亮状态; 手放在按钮上处于高亮状态; -- 禁用 : UI 控件关闭后, 处于禁用状态; 禁用状态的控件不可操作, 禁用操作在 Interface Builder...4) Min Font Size | Adjust to Fit 属性 Adjust to Fit 复选框 : 指定文本字体是否随着文本框缩小 而 减小; -- 作用 : 勾选该复选框可以确保整个文本在文本框总是可见...UIScrollView 属性简介 (1) UIScrollView 简介 UIScrollView 简介 :  -- 显示内容多 : 可滚动控件, 可以使用手指拖动控件中的内容, 在其中可以显示多个屏幕的内容..., 代表 UIScrollView 的可视区域显示内容上滚动距离; (3) Scroll Indicators 属性 Scroll Indicators 属性 :  -- Shows Horizontal...resignFirstResponder]; } @end -- 展示效果 : 点击 Done 即可关闭按钮; (4) 自定义键盘附件关闭虚拟键盘 自定义键盘附件 :  -- 作用 : 不是所有的应用都有导航栏, 在没有导航栏的应用中

    6.9K20

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

    实现这个效果的关键点只有两点: 获取正在输入内容在UITextView占用了多少行 让UITextView动态改变大小 一开始,为了解决第一个问题,我一直在考虑怎么获取换行事件,发现只用捕捉\n输入即可...要知道,UITextView是继承UIScrollView的。...UITextView输入文字过多时是可以用手上下拖动浏览内容的,所以可以猜想是和UIScrollView有关系。...好了,知道其集成UIScrollView就好办了,因为UITextView只有在输入内容超过其显示范围才可以拖动,那就知道输入文字的bound就是UIScrollView的contentSize。...:(NSInteger)lines; @end 在每次输入内容的时候计算行数,声明一个变量保存上一次的行数,两次行数不一致即为发生换行 - (void)textViewDidChange:(UITextView

    2.5K10

    实践-腾讯新闻图文详情实现

    前言 实现了一个类似腾讯新闻图文详情页的效果,不多说,上效果图 新闻.gif 草图 Paste_Image.png 步骤 创建一个 ScorllView 里面放上图片,可以左右滑动。...创建一个 UITextView 固定在底部位置。随着图片的滚动,更好 其中的文字内容。 关键点 整个效果中,UITextView的设置效果是关键点。...总结一下右侧的滚动条一直处于显示状态的原理: UIScrollView的滚动条是UIImageView UIScrollView被flashScrollIndicators后,过一段时间,他的滚动条就会被调用...的代理中随着图片的滑动,更改 UITextView里的文字 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { _...UITextView的字体间距设置和 右侧滚动条一直保持显示状态是关键点。

    77220

    Weex 事件传递的那些事儿

    iPhone 4、4s、5、5s、5c、SE的比例因子是0.42666667 iPhone 6、6s、7比例因子是0.5 iPhone 6+、6s+、7+比例因子是0.552 (2)计算视图的缩放尺寸...假设我们是在iPhone 7+的屏幕上,ppi对应的应该是scale = 3(即@3x)。...,在屏幕上移动,手指从屏幕上结束触摸,取消触摸,分别都会触发touchesBegan:,touchesMoved:,touchesEnded:,touchesCancelled:方法。...Appear 事件 如果一个位于某个可滚动区域内的组件被绑定了 appear 事件,那么当这个组件的状态变为在屏幕上可见时,该事件将被触发。 所以绑定了Appear 事件的都是可以滚动的视图。...Disappear 事件 如果一个位于某个可滚动区域内的组件被绑定了 disappear 事件,那么当这个组件被滑出屏幕变为不可见状态时,该事件将被触发。

    2.7K40

    ios学习7_iPhone屏幕尺寸、分辨率及适配

    在同样的逻辑坐标系下(320×480): 1 point = scale*pixel(在iPhone4~6中,缩放因子scale=2;在iPhone6+中,缩放因子scale=3)。...苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上。 参考:《为什么iPhone 6 Plus要将3x渲染的2208×1242分辨率缩小到1080p屏幕上?》...(3)按字体适配 另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView...对于纵向也不支持滑动的视图,在屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。.../6 Plus》 《iOS的APP如何适应iPhone 5s/6/6+三种屏幕的尺寸?》

    2.8K20

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

    最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的...中的cell当有键盘弹出的时候表单整体会自动进行上移,我们需要编辑的区域正好可以在键盘的上方,这样我们正好也可以看到我们编辑的内容,方便我们进行修改和调整具体内容。   ...下面的流程就是UITextField或UITextView在整个编辑过程中的详细流程步骤: 在成为第一响应者之前,文本框调用其代理的textFieldShouldBeginEditing:  方法来允许或阻止其第一响应者...2.2 自定义包含UITextField的UITableViewCell   首先,我们在点击编辑区域的时候,获取到当前编辑区域相对屏幕的位置,这样方便我们判断整个tableview是否需要上移以及需要上移多少比较合适...  我们在对tableview的上移进行调整时,我们需要知道当前编辑的cell相对屏幕的位置,然后才能判断是否需要上移tableview以及上移多少。

    3.9K80

    ios学习7_iPhone屏幕尺寸、分辨率及适配

    在同样的逻辑坐标系下(320x480): 1 point = scale*pixel(在iPhone4~6中,缩放因子scale=2;在iPhone6+中,缩放因子scale=3)。...苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上。 参考:《为什么iPhone 6 Plus要将3x渲染的2208x1242分辨率缩小到1080p屏幕上?》...(3)按字体适配 另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView...对于纵向也不支持滑动的视图,在屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。.../6 Plus》 《iOS的APP如何适应iPhone 5s/6/6+三种屏幕的尺寸?》

    93450

    解决UITableView中Cell重用机制导致内容出错的方法总结

    UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。...上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITextView等子视图...UITableView中的cell可以有很多,一般会通过重用cell来达到节省内存的目 的:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格的种类,当cell滚出屏幕时...,会将滚出屏幕的单元格放入 重用的queue中,当某个未在屏幕上的单元格要显示的时候,就从这个queue中取出单元格进行重用。...比如,当一个cell含有一个 UITextField的子类并被放在重用queue中以待重用,这时如果一个未包含任何子视图的cell要显示在屏幕上,就会取出并使用这个重用的 cell显示在无任何子视图的cell

    2.5K50

    UIScrollView视觉差动画

    [普通的浏览效果.gif] 二、分析动画效果,提出解决方案 注意:这里的left和right是区分拖动中可见的两个视图。 1 ....分析效果 由总效果图和第一步的普通的浏览效果图对比可以看出,在拖拽过程中,第一步中的普通效果图是图片之间首尾相连,当前(left)的图片尾部连接下一个(right)的图片首部;而目标总效果图中的是图片之间首首相连...,尾尾相连,且滑动过程中,当前可见的图片有渐进的裁剪效果;前者就像是平铺在一起的一行书,一块儿左右平移,而后者就像是翻书时看到的效果,当前页left内容由边到内逐渐消失,而下一页right内容由边缘到里逐渐显示...我们可以在拖拽过程中相对应的改变right/left图片在父视图WSLAnimationView上的X坐标,把right图片的坐标位置放到相对于left图片的正下/偏右方位置,然后随着拖拽滑动逐渐改变right...以及left图片的相对位置X坐标,直至复位,回到它们在WSLAnimationView上的初始位置X=0,超出父视图的部分裁剪掉,也是设置WSLAnimationView对象的clipsToBounds

    849140

    手机QQ空间iPhone X适配总结

    iPhone X尺寸说明 根据苹果iPhone X适配规范,iPhone X屏幕尺寸为375 x 812pt,宽度和iPhone 6/6s/7/8一样,但高度比它们高了145pt,如下图所示。...应用全屏化 如果应用不做修改直接运行在iPhone X上,程序只能获取到和iPhone 6一样的展示界面,通过UIScreen获取到得宽高为375 *667。...,界面底部多了一条黑条,我们将其称为Home Indicator,这是iPhone X新添加的虚拟按键,以替代原来的Home键,它支持的操作有上滑退至多任务界面,左滑和右滑切换当前程序。...需要注意的坑 关于TabBar高度,在VC的viewWillAppear中获取到的是默认原始高度49,而到了viewDidAppear时获取到的高度为83,这就导致了在popVC时可能底部tabbar发生一个从下到上的跳动...应用启动时,在初始化rootViewController的过程中,通过[UIApplication sharedApplication].keyWindow获取的keywindow是nil,这时window

    1.8K30

    iOS导航栏使用总结

    ; 1.全局设置 全局设置一般的都是在AppDelegate中设置,这样整个app都会生效,相关的代码与效果图如下: //1.设置导航栏背景颜色 [[UINavigationBar appearance...导航栏视图层级图 从图中可以看出,导航栏的底部分割线是一个UIImageView对象,而且高度只有0.5,所以我们可以据此获取到导航栏的底部分割线对象,在一个视图控制器中实现此需求,代码如下: #import...,用于优化滑动类视图(继承于UIScrollView的视图)在视图控制里的显示: iOS系统的导航栏UINavigationBar与标签栏UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器的...UI布局进行优化:视图控制器里面第一个被添加进去的视图是滑动类视图,并且其Frame是整个屏幕大小时,系统会自动调整其contenInset,以保证滑动视图里的内容不被UINavigationBar与UITabBar...我们可以通过一段代码来测试一下效果,在默认导航栏(半透明)的视图控制器里添加如下代码: //UITextView是滑动视图,内容自动向下偏移,不会被导航栏覆盖 UITextView *leftTextView

    3.2K20

    UIScrollView视觉差动画

    普通的浏览效果.gif 二、分析动画效果,提出解决方案 注意:这里的left和right是区分拖动中可见的两个视图。 1....分析效果 由总效果图和第一步的普通的浏览效果图对比可以看出,在拖拽过程中,第一步中的普通效果图是图片之间首尾相连,当前(left)的图片尾部连接下一个(right)的图片首部;而目标总效果图中的是图片之间首首相连...,尾尾相连,且滑动过程中,当前可见的图片有渐进的裁剪效果;前者就像是平铺在一起的一行书,一块儿左右平移,而后者就像是翻书时看到的效果,当前页left内容由边到内逐渐消失,而下一页right内容由边缘到里逐渐显示...我们可以在拖拽过程中相对应的改变right/left图片在父视图WSLAnimationView上的X坐标,把right图片的坐标位置放到相对于left图片的正下/偏右方位置,然后随着拖拽滑动逐渐改变right...以及left图片的相对位置X坐标,直至复位,回到它们在WSLAnimationView上的初始位置X=0,超出父视图的部分裁剪掉,也是设置WSLAnimationView对象的clipsToBounds

    72160

    IOS开发之尺寸

    在浏览网页过程中,所有的“大”“小”概念,都是基于“屏幕”这个“界面”上。...“屏幕”上的各种信息,包括文字、图片、表格等等,都会随屏幕的分辨率变化而变化,一个100px宽度大小的图片,在800×600分辨率下,要占屏幕宽度的1/8,但在1024×768下,则只占约1/10。...苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上。     参考:《为什么iPhone 6 Plus要将3x渲染的2208x1242分辨率缩小到1080p屏幕上?》...(3)按字体适配 另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配:     例如适配表视图(UITableView:UIScrollView),无法左右滑动...对于纵向也不支持滑动的视图,在屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。

    3K40

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

    第二,在-forwardInvocation:方法中处理,里面可以给任意对象发送消息,显然,这正是我们需要的。...UITextField的代理是@protocol UITextFieldDelegate ,它是继承NSObject代理,而NSObject代理中的方法是在 UITextField中实现的...况且,UITextField的父类是UIControl,向上追溯也没有类带有delegate属性,也就是说,UITextField的setDelegate:方法实现中理论上是没有关于父类同样delegate...在UITextView中,没有使用这种方法。...而且其父类是UIScrollView,UIScrollView中有着delegate属性,在UITextView的setDelegate:中肯定会有着对父类代理的操作,这里面的逻辑不得而知,所以这里不能使用代理转接的思路强行插入逻辑

    1.1K120
    领券