如何使在Swift中使用UIScrollView进行滚动和缩放
2018-06-28 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517192
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
UIScrollView是IOS中非常有用的一个组件。它是通用组件UITableView的基类也是放置尺寸大于一个屏幕的内容时很好的组织方式。本教程会介绍UIScrollView的下列用法:
如何使用UIScrollView浏览大尺寸图片。
如何在缩放时保持UIScrollView中的内容居中.
如何在UIScrollView中嵌入复杂的显示层次关系。
如何使用UIScrollView的分页(paging)特性, 联合使用UIPageControl在不同页面之间移动。
通过“偷窥”UIScrollView得到前一页,后一页还有当前页的缩略图。
其他内容!
本文假设你熟悉Swift语言和IOS开发。如果你完全是一名初学者, 你可能需要先学习一下本站的其他课程。
本文还假设你知道如何使用Interface Builder在view中添加对象和在你的代码和Storyboard连接outlets。 如果你刚刚接触Storyboards和Interface Builder, 你可以在开始本教程之前线学习一下本站的Storyboards教程。
开始
打开Xcode创建工程。选择File\New\Project…, 接下来选择iOS\Application\Single View Application模版。 在product name输入框中输入ScrollViews, language选择Swift, devices选择 iPhone.
单击Next选择工程文件的保存位置。
之后下载工程的资源压缩包, 然后将解加压后的文件拖拽到工程的根目录。并确保选中了“Copy items if needed”复选框。
本文会介绍Scroll view 的四种不同使用方式, 工程采用一个tableview来提供这四个选项。每个选项打开一个新的视图控制器(view controller)来展示scroll views的一种用法。
下图展示了完成时storyboard的状态:
通过下列步骤创建一个tableview:
打开Main.storyboard删除当前场景。 选择view controller (单击 storyboard) 然后删除它。
关闭Auto Layout功能。在Utilities面板中选择File Inspector, 取消Use Auto Layout复选框的选中状态。这会弹出一个警告窗口。在弹出窗口中确保“Keep size class data for:”选中了iPhone。然后选择Disable Size Classes。
接下来, 添加一个Table View Controller,从Object Library中拖拽一个Table View Controller到storyboard。
选中刚添加的table, 然后在菜单中选择Editor\Embed In\Navigation Controller。
同时选中table view和table view controller, 将Attributes Inspector中的content type修改为Static Cells。
在文档概要视图中Table View单击下面的按钮显示storyboard层次关系视图,然后选中Table View Section. 将行数设置为4。
依次编辑table view的每一行, 将style设置为Basic,编辑显示的标签:
Image Scroll
Custom View Scroll
Paged
Paged with Peeking
注释: 由于你将每一行的style设置成了“Basic”, 表单的每一行会出现额外的标签子组件。你要再次展开每行的子项目来进行编辑。
保存storyboard, 之后构建并运行。你会看到你编辑的table view如下图所示.不过现在table view中还没有任何东西 – 但你可以改好它!
如何使用UIScrollView浏览大尺寸图片。
如何在缩放时保持UIScrollView中的内容居中.
如何在UIScrollView中嵌入复杂的显示层次关系。
如何使用UIScrollView的分页(paging)特性, 联合使用UIPageControl在不同页面之间移动。
通过“偷窥”UIScrollView得到前一页,后一页还有当前页的缩略图。
其他内容!
本文假设你熟悉Swift语言和IOS开发。如果你完全是一名初学者, 你可能需要先学习一下本站的其他课程。
本文还假设你知道如何使用Interface Builder在view中添加对象和在你的代码和Storyboard连接outlets。 如果你刚刚接触Storyboards和Interface Builder, 你可以在开始本教程之前线学习一下本站的Storyboards教程。
开始
打开Xcode创建工程。选择File\New\Project…, 接下来选择iOS\Application\Single View Application模版。 在product name输入框中输入ScrollViews, language选择Swift, devices选择 iPhone.
单击Next选择工程文件的保存位置。
之后下载工程的资源压缩包, 然后将解加压后的文件拖拽到工程的根目录。并确保选中了“Copy items if needed”复选框。
本文会介绍Scroll view 的四种不同使用方式, 工程采用一个tableview来提供这四个选项。每个选项打开一个新的视图控制器(view controller)来展示scroll views的一种用法。
下图展示了完成时storyboard的状态:
通过下列步骤创建一个tableview:
打开Main.storyboard删除当前场景。 选择view controller (单击 storyboard) 然后删除它。
关闭Auto Layout功能。在Utilities面板中选择File Inspector, 取消Use Auto Layout复选框的选中状态。这会弹出一个警告窗口。在弹出窗口中确保“Keep size class data for:”选中了iPhone。然后选择Disable Size Classes。
接下来, 添加一个Table View Controller,从Object Library中拖拽一个Table View Controller到storyboard。
选中刚添加的table, 然后在菜单中选择Editor\Embed In\Navigation Controller。
同时选中table view和table view controller, 将Attributes Inspector中的content type修改为Static Cells。
在文档概要视图中Table View单击下面的按钮显示storyboard层次关系视图,然后选中Table View Section. 将行数设置为4。
依次编辑table view的每一行, 将style设置为Basic,编辑显示的标签:
Image Scroll
Custom View Scroll
Paged
Paged with Peeking
注释: 由于你将每一行的style设置成了“Basic”, 表单的每一行会出现额外的标签子组件。你要再次展开每行的子项目来进行编辑。
保存storyboard, 之后构建并运行。你会看到你编辑的table view如下图所示.不过现在table view中还没有任何东西 – 但你可以改好它!
展开全部
在你的ViewController的superclass里添加UIScrollViewDelegate
然后比如你的UIScrollView的名字是myScrollView的话
添加
myScrollView.delegate = self
然后
myScrollView.minimumZoomScale设置最小缩放值
myScrollView.maximumZoomScale设置最大缩放值
myScrollView.bounces设置到边缘后是否有反弹效果
最后使用
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return scrollView.subviews[0]
}
实现代理。如果你的UIScrollView只有一个图片,那就是0,有多个就看你的具体情况。
然后比如你的UIScrollView的名字是myScrollView的话
添加
myScrollView.delegate = self
然后
myScrollView.minimumZoomScale设置最小缩放值
myScrollView.maximumZoomScale设置最大缩放值
myScrollView.bounces设置到边缘后是否有反弹效果
最后使用
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return scrollView.subviews[0]
}
实现代理。如果你的UIScrollView只有一个图片,那就是0,有多个就看你的具体情况。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询