将 UIScrollView 添加到 UIViewController

2023-11-24

我有一个UIViewController,我想添加一个UIScrollView到它(启用滚动支持),可能吗?

我知道这是可能的,如果你有UIScrollView添加一个UIViewController对此,但我也感兴趣如果相反是真的,如果我可以添加一个UIScrollView到现有的UIViewController,这样我就可以获得滚动功能。

Edit

我想我已经找到了答案:将 UIViewController 添加到 UIScrollView


An UIViewController has a view财产。所以,你可以添加一个UIScrollView to its view。换句话说,您可以将滚动视图添加到视图层次结构中。

这可以通过代码或 XIB 来实现。此外,您可以将视图控制器注册为滚动视图的委托。通过这种方式,您可以实现执行不同功能的方法。看UIScrollViewDelegate协议。

// create the scroll view, for example in viewDidLoad method
// and add it as a subview for the controller view

[self.view addSubview:yourScrollView];

你也可以覆盖loadView方法用于UIViewController类并将滚动视图设置为您正在考虑的控制器的主视图。

Edit

我为你创建了一个小样本。在这里,您有一个滚动视图作为视图的子视图UIViewController。滚动视图有两个子视图:view1(蓝色)和view2(绿色)。

在这里,我想您只能沿一个方向滚动:水平或垂直。在下面,如果水平滚动,您可以看到滚动视图按预期工作。

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
    scrollView.backgroundColor = [UIColor redColor];
    scrollView.scrollEnabled = YES;
    scrollView.pagingEnabled = YES;
    scrollView.showsVerticalScrollIndicator = YES;
    scrollView.showsHorizontalScrollIndicator = YES;
    scrollView.contentSize = CGSizeMake(self.view.bounds.size.width * 2, self.view.bounds.size.height);    
    [self.view addSubview:scrollView];

    float width = 50;
    float height = 50;
    float xPos = 10;
    float yPos = 10;

    UIView* view1 = [[UIView alloc] initWithFrame:CGRectMake(xPos, yPos, width, height)];
    view1.backgroundColor = [UIColor blueColor];    
    [scrollView addSubview:view1];

    UIView* view2 = [[UIView alloc] initWithFrame:CGRectMake(self.view.bounds.size.width + xPos, yPos, width, height)];
    view2.backgroundColor = [UIColor greenColor];    
    [scrollView addSubview:view2];
}

如果您只需要垂直滚动,可以按如下方式更改:

scrollView.contentSize = CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height * 2);

显然,你需要重新安排位置view1 and view2.

附:这里我使用的是ARC。如果不使用ARC,则需要明确release分配初始化对象。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 UIScrollView 添加到 UIViewController 的相关文章

  • CNContact 添加新的联系人问题

    我在通过以下方式添加联系人时遇到问题联系框架 我使用的是装有 iOS 12 1 2 的 iPhone 5s 设备 我添加联系人的代码如下 let saveRequest CNSaveRequest saveRequest add self
  • 如何更改 UISwitch 关闭状态的默认颜色?

    我想更改 UISwitch 中 onTintColor 的颜色以表示关闭状态 切换位于表格视图中 并且以编程方式进行切换 settingsSwitch setBackgroundColor UIColor whiteColor settin
  • 使用 Parse.com 上传视频

    我是解析新手 正在尝试保存视频并将其上传到云端 这是我正在使用的代码 但是当调用 didButtonAction 时 它不断收到错误 我相信问题出在将视频保存为文件时 但我不知道如何解决这个问题 先感谢您 void imagePickerC
  • 自动布局:Y 位置为两个值中的最大值

    我有一个按钮 play Button 和两个 UIView myView 1 和 myView 2 它们的位置在执行过程中可能会发生变化 我希望 playButton 的顶部比 UIView 1 的底部或 UIView 2 的底部低 10
  • Swift 3 '[UIApplicationLaunchOptionsKey:任意]?'无法转换为 '[String : NSString]'

    我有一个 TVOS 应用程序已从 Swift 2 转换为 Swift 3 但出现以下错误 我不确定如何让它安静下来 UIApplicationLaunchOptionsKey 任意 无法转换为 String NSString 它出现在这段代
  • Swift 数组设置索引值不起作用

    我有一个方法 下面的内容 其中queue2只是一个 Int 我打印了很多东西 看看一切是否都正常 public func cool item Int println item println back queue2 insert item
  • 使用 Push Transition 效果更改 RootViewcontroller

    在我的iOS应用程序中 我需要更改应用程序之间窗口的rootviewController 因此 当我动态更改我的rootviewcontroller时 它会在更改之前轻拂视图 但我想要的是在更改rootviewcontroller时提供平滑
  • 使用 UIActionSheet 更改视图时工具栏项目消失

    当从 a 启动视图时UIActionSheet按钮 通过导航栏后退按钮返回视图后 工具栏虽然仍然可见 但上面没有任何以前的按钮 自从更新到 iOS 6 以来 这个错误就出现了 并且是在模拟器和仅运行 iOS 6 的设备上测试时发生的 如果我
  • iOS App布局错误,调用状态栏

    在主动通话和应用程序布局期间面临状态栏问题 我正在使用自动布局 当我运行应用程序 然后开始通话时 一切正常 UI 会随着状态栏的更改而正确缩放 但是 如果我首先开始通话 然后运行应用程序 应用程序屏幕会移动到底部 20pt 就像它们对新状态
  • 如何在我的 iOS 项目中添加和执行 .sql 文件?

    我找到了很多关于在 iOS 中使用 SQLite 数据库的教程 但没有找到任何直接引用 sql 文件的内容 谁能告诉我如何将现有的 SQL 数据库链接到我的应用程序 编辑 这是一个 MySQL 转储 我们有一个基于浏览器的抽认卡程序 现在我
  • 对 UIImage 进行方形裁剪,导致图像拉伸

    当尝试执行 UIImage 的中心裁剪时 我得到以下结果 左侧是原始图像640 1136 右边是适合正方形的裁剪图像UIImageView at 320 320 turns to 我对比率元素进行了相当多的修改 以便它可以正确检测要修剪的量
  • Swift:从自定义 UITableViewCell 中的 UITextField 检索文本并将其放入数组中

    我正在制作一个非常简单的应用程序 用户在第一个屏幕中输入人数 在第二个屏幕中 它会生成一些UITableViewCell基于用户在第一个屏幕中输入的数字 这UITableViewCell have a UITextField在其中 一旦用户
  • UIBezierPath 的起始和结束角度?

    我在 iOS 中使用如下代码编写了半圆UI贝塞尔路径 and CAShape层 clockWiseLayer CAShapeLayer alloc init CGFloat startAngle M PI 2 CGFloat endAngl
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • 为了支持 iPhone 5 的更长屏幕,需要检查什么? [复制]

    这个问题在这里已经有答案了 可能的重复 iPhone 5屏幕尺寸如何处理 https stackoverflow com questions 12396545 how to deal with iphone 5 screen size iP
  • 如何将十六进制数组转换为 UIImage?

    有几个与使用 P25mi 动态打印图像相关的未解答问题 没有一个得到公认的答案 下面有几个链接 如何将图像转换为位图代码以便在 iPhone 中进行蓝牙打印 https stackoverflow com questions 1383828
  • swift 中的负数模

    负数模如何在 swift 中工作 当我执行 1 3 时 它给出 1 但余数是 2 其中有什么问题 雨燕余数运算符 计算余数 整数除法 a b a a b b where 是截断整数除法 在你的情况下 1 3 1 1 3 3 1 0 3 1
  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • 具有多种自定义单元格类型的 RxSwift 表视图

    我想知道是否有任何代码示例RxSwift当我可以在一个表视图中使用多个自定义单元格时 例如 我有两个部分 第一部分有 10 个单元格 类型为CellWithImage标识符和第二部分有 10 个带有类型的单元格CellWithVideo标识
  • 播放(非库)Apple Music 内容 - 请求失败

    我正在尝试使用以下代码播放专辑 let predicate MPMediaPropertyPredicate value 1459938538 forProperty MPMediaItemPropertyAlbumPersistentID

随机推荐

  • Mysema Querydsl:没有 JPAQuery#list() 方法

    一些在线示例Mysema 查询DSL使用依赖于JPAQuery list 方法 例如这个 stackoverflow 答案包含 GROUP BY COUNT 聚合示例 整篇文章中也提到了官方文档 但是 我在网上没有看到这种方法JPAQuer
  • 在 Objective-C 中通过引用传递数组

    我想通过引用传递 NSMutableArray 以便可以通过另一种方法更改它 正确的语法是什么 Thanks Objective C 对象始终通过引用 使用指针 传递 您不能通过值传递它们 IE 以下是好的 void mutateArray
  • Spring JPA ExampleMatcher 比较日期条件

    我正在使用 Spring JPA 并使用示例匹配器获取数据列表 源代码如下 public Page
  • 如果表达式的中间结果溢出,是否属于未定义行为?

    这个问题是另一个问题的结果那么问题 示例代码 include
  • 杀死java中正在运行的线程?

    java中如何杀死正在运行的线程 您可以通过调用来要求线程中断Thread interrupt 请注意 存在一些具有类似语义的其他方法 stop and destroy 但他们是已弃用 因为他们是unsafe 不要试图使用它们
  • Angular 中的货币格式化指令

    我需要一个指令来过滤货币字段 因此用户只需键入并隐含小数点 Needs 将十进制字段格式化为用户类型 从用户键入的百分之位开始 因此 他们会输入 4 并看到 0 04 输入 42 并看到 0 42 输入298023并看到 2980 23 字
  • Rails:带有索引的 fields_for?

    有没有一种方法 或实现类似功能的方法 来执行fields for with index 例子 正在渲染的部分需要知道当前索引在fields for loop 答案很简单 因为 Rails 中提供了解决方案 您可以使用f options参数
  • Delphi XE3 DataSnap Server 中的访问请求标头

    我正在 Delphi XE3 中实现 REST 服务器 API 大约十年来第一次使用 Delphi 所以有点生疏 目前它使用 Indy 服务器进行调试 但最终它将成为一个 ISAPI dll 现在我已经实现了许多 TDSServerClas
  • Android 操作栏 Sherlock 带选项卡

    我正在尝试实现 ActionBar Sherlock 其下方带有选项卡 如上面的线框所示 我应该使用 TabActivity 吗 因为我看到它已被弃用 这是实现相同目标的最佳方法 我用一个实现了这个功能SherlockFragmentAct
  • 用于调试和错误的不同 log4j 布局?

    在 log4j 中 有没有办法让 logger error 和 logger debug 包含不同的输出布局 我希望错误包含方法名称和行号 这两者都会降低应用程序性能 EDIT 添加 apache log4j extras 后 以下配置文件
  • 无法验证回调 URL 或验证令牌。请验证所提供的信息或稍后重试

    我一直在遵循 facebook 机器人设置指南 并设置了一个在 EC2 实例上运行的回调 URL 我在尝试验证回调 url 并验证令牌时收到错误 请参阅此标题 https 360 finance 1337 webhook是我的 webhoo
  • 如何防止多次附加事件处理程序?

    我有一个函数 它将附加click我的元素的事件处理程序 function attachClickToElem elem on click function alert Hello World 问题是每当我调用这个函数时 nclick处理程序
  • 使用 R 中的 stringr 提取特定单词周围的单词样本

    我在 SO 上看到了一些关于这个主题的类似问题 但它们的措辞似乎不正确 example 或用不同的语言 example 在我的场景中 我认为所有被空白包围的东西都是一个单词 表情符号 数字 不是真正单词的字母串 我不在乎 我只想获取找到的字
  • 下拉并按住时 UIRefreshcontrol 抖动

    我在 tableviewcontroller 中创建了一个 UIRefreshcontrol 如下所示 refresh UIRefreshControl alloc init refresh attributedTitle NSAttrib
  • 提高具有大量连接的视图的性能[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我有一个使用 11 个外部
  • 比较 Spark 中当前行和前一行的值

    我正在尝试比较下面当前行和上一行的记录DataFrame 我想计算金额列 scala gt val dataset sc parallelize Seq 1 123 50 2 456 30 3 456 70 4 789 80 toDF SL
  • R 命名空间访问和 match.fun

    我正在开发一个 R 包 其中一个函数包含match fun调用导入到包命名空间的包中的函数 但是在加载包时 match funcall 找不到函数名 从哈德利 威克姆的描述我认为我做的一切都是正确的 但事实显然并非如此 Example in
  • Hibernate 为 @ManyToOne JPA 注解属性创建 N+1 查询

    我有这些课程 Entity public class Invoice implements Serializable Id Basic optional false private Integer number private BigDec
  • 在 Apache Spark 中,是否可以为混洗 RDD 或联合分组 RDD 指定分区的首选位置?

    对于 Spark 1 6 唯一支持自定义分区位置的 API 是在创建 RDD 时 Distribute a local Scala collection to form an RDD with one or more location pr
  • 将 UIScrollView 添加到 UIViewController

    我有一个UIViewController 我想添加一个UIScrollView到它 启用滚动支持 可能吗 我知道这是可能的 如果你有UIScrollView添加一个UIViewController对此 但我也感兴趣如果相反是真的 如果我可以