方向改变时 UIScrollview 内容大小

2023-12-04

我有一个带分页的滚动视图。在 viewDidLoad 中,我检查当前方向是否为横向,然后将其内容大小的高度设置为 440

 if (UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation])) 
    {
        [scroll      setContentSize:CGSizeMake(self.scroll.frame.size.width*numberOfPages,340)];


    }
    else if (UIDeviceOrientationIsLandscape([[UIDevice currentDevice] orientation]))

    {
        [scroll setFrame:CGRectMake(0,0,480,480)];
        [scroll setContentSize:CGSizeMake(self.scroll.frame.size.width*numberOfPages, 440)];


    }

一切工作正常,滚动视图滚动平滑,并且没有对角滚动。

但当方向改变时,

我必须再次设置滚动视图的框架和内容大小,我将其设置如下

-(void)orientationChanged:(id)object
{
if(UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation]))
{
    self.scroll.frame = [[UIScreen mainScreen]bounds];

    [scroll setContentSize:CGSizeMake(self.scroll.frame.size.width*numberOfPages, 340)];
}


else
{
 self.scroll.frame = CGRectMake(0,0,480,480);
        [scroll setContentSize:CGSizeMake(self.scroll.frame.size.width*numberOfPages, 600)];
}


}

我不明白为什么我必须在横向模式下将内容大小的高度设置为 600,这也还不够。它又增加了一个问题,即滚动视图开始对角滚动,这是我不想要的,因为它看起来很奇怪。谁能帮助我了解我缺少的地方和内容?

我已将滚动视图的自动调整大小蒙版设置为

[scroll setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleHeight];

但改变它并没有帮助。


  1. 不要使用UIDeviceOrientation. Use UIInterfaceOrientation反而。DeviceOrientation有两个您不需要的额外选项。 (UIDeviceOrientationFaceUp and UIDeviceOrientationFaceDown)

  2. Return Yes from shouldAutorotateToInterfaceOrientation

  3. Now willRotateToInterfaceOrientation: duration:每次旋转设备时都会调用。

  4. 像这样实现这个方法。

    -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
    {
    CGRect frame;
    int pageNumber = 2;
    int statusBarHeight = 20;
    
    if ((toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)) {
        frame = CGRectMake(0, 0, 480, 320 - statusBarHeight);
    } else {
        frame = CGRectMake(0, 0, 320, 480 - statusBarHeight);
    }
    
    scrollView.frame = frame;
    scrollView.contentSize = CGSizeMake(frame.size.width * 2, frame.size.height);
    } 
    

    Let,

    页码 = 2

    状态栏高度 = 20

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

方向改变时 UIScrollview 内容大小 的相关文章

  • 是否有适用于 iPad 2 的条码扫描仪 SDK? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 修补应用内购买黑客;卡在第四步

    正如我们许多人所知 苹果最近出现了一种情况 黑客可以免费获得任何应用内购买 苹果最近发布了这个文件 http developer apple com library ios releasenotes StoreKit IAP Receipt
  • 在 Objective-C 中比较 2 个字符串

    我写了以下代码 if depSelectedIndice gt 1 comSelectedIndice gt 1 NSLog depart elemet d depSelectedIndice NSLog depart elemet d c
  • 本地化现有的 iOS 应用程序

    我不敢相信以前没有人问过这个问题 要么是我的编码实践太无组织性 要么是我没有使用正确的关键字 How can I localize an existing iOS app that does not use NSLocalizedStrin
  • Swift Generics 在使用继承时不会实例化泛型

    我有课Alpha and Berry class Alpha class Berry Alpha 我有一个使用继承及其泛型的函数 func myFunc
  • 如何打开定位服务

    当有人第一次拒绝时 如何从实际应用程序重新打开定位服务 我可以选择关闭或打开它 您只能提示他们在屏幕上打开定位服务 如下所示 UIApplication sharedApplication openURL NSURL URLWithStri
  • 网站在 iPhone 屏幕右侧显示空白区域

    我遇到问题http eiglaw com http eiglaw com iPhone 屏幕右侧显示约 25 像素宽的空白 边框 我在 stackoverflow 上研究了这个问题 这些帖子是相关的 但是当我尝试提供的各种解决方案时 我无法
  • 如何在 Firebase 控制台中使用 Apple 新的 APN .p8 证书

    随着最近 Apple 开发者帐户的升级 我面临着一个困难 在尝试创建推送通知证书时 它为我提供了 p8 证书 而不是可以导出到 p12 的 APNs 证书 Firebase 控制台仅接受 p12 证书 那么我如何从这些新的 p8 证书中获取
  • 如何使用 NSUserDefaults 在 Swift 中存储自定义类的数组?

    我有一个名为的自定义类Person当某人输入信息时 它会存储有关某人的各种属性 class Person Person dictionary variable var name String var age String var html
  • 导入 RNCryptor 后架构 armv7 的未定义符号

    我导入了 RNCryptor 可以在这里找到 https github com rnapier RNCryptor https github com rnapier RNCryptor进入我的应用程序 但是 我在日志中收到了三个错误 Und
  • 在 OS X 上创建和使用静态库

    好的 我正在尝试创建一个 Cocoa 库 静态 并使用 但我不断收到错误 我创建了一个超基本的静态库 TSXLib 其中仅包含一个额外的类 import
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • 如何将 UILabel 的值绑定到实例变量?

    我是 mac objective c 的新手 我的问题是 我想知道是否可以将 UILabel 文本绑定到变量 而不必在值更改时手动设置文本 例如 在 Mac OS 上 当我打开新的 Finder 窗口并删除文件时 任务栏中的全局可用空间就会
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 如何在 React Native 中构造 POST 请求主体,而不是使用字符串化的 json,而是使用 json?

    我正在努力用 React Native 替换一些本机代码 预期的 POST 请求 在AFNetworking in Charles应该是这样的 代码片段 NSError err NSData paramData NSJSONSerializ
  • UIPanGestureRecognizer 对坐标的限制

    我在主 UIView 中添加了一个子视图 称为panel 并且我向其中添加了gestureRecognizer 因为我希望它只能在Y轴上拖动并且只能在某些限制下 即160 300 超过300它不能拖动 我以这种方式实现了手势处理 IBAct
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐
  • PFQueryTableViewController 错误

    我正在遵循在线教程 使用 Parse 作为后端创建照片共享应用程序 我已经运行了两次教程 两次都从头开始创建应用程序 但在同一位置仍然出现相同的错误 我到处寻找解决方案 但仍然没有运气 我正在使用 PFQueryTableViewContr
  • Swift 中的 import 语句是否有相关成本?

    阅读字符串宣言 我看到一个段落 https github com apple swift blob master docs StringManifesto md batteries included关于避免Foundation不需要的时候导
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf

随机推荐

  • JavaScript数组长度为0

    我遇到了一些奇怪的行为 如下所示 它显示数组长度为 0 尽管在它之前打印它表明长度显然大于 0 var getTopSelection function callback var topSelection for var i 0 i lt
  • 如何设置 os x 中的应用程序使用的 $PATH

    我正在使用 ant 构建我的项目 并使用 svnversion 可执行文件将版本 ID 插入到我的源代码中 以便于跟踪版本 从命令行运行这个 ant 文件是有效的 我已经在 profile 中设置了 PATH 以包含 svnversion
  • 为 iPhone SDK 编译 Freetype (XCode)

    我想知道是否有人知道如何在 iPhone SDK 的 XCode 中配置 FreeType 我一直在尝试但没有成功 理想情况下 您需要使用最新的工具进行构建 从 iOS 6 0 SDK 版本开始 最低 SDK 版本为 4 3 并针对 arm
  • 将带有图像的 JLabel 添加到 JList 以显示所有图像

    这是我的代码 它不在框架中显示图像 而是显示一些文本 有人会建议我应该在代码中进行哪些更改 以便它允许我在框架中显示图像吗 import java awt Component import java awt Image import jav
  • 如何规范 Git 中的工作树行结尾?

    我克隆了一个行结尾不一致的存储库 我添加了一个 gitattributes它为我想要规范化的文件设置文本属性 现在 当我提交更改时 我收到消息 warning CRLF will be replaced by LF in FILE The
  • C# - 为什么这个变量在通过方法后没有被更改[重复]

    这个问题在这里已经有答案了 所以我显然对编程相当陌生 但我试图找出为什么这不起作用 我正在尝试获取字符串 myname 并将 Mr 添加到其开头 我知道我可以简单地做到这一点myname Mr myname但是我试图了解如何使用方法来更改变
  • n 组位的高效随机排列

    对于产生精确的位模式的问题n设置位 我知道两种实用的方法 但它们都有我不满意的局限性 首先 您可以枚举在预先计算的表中设置了那么多位的所有可能的字值 然后在该表中生成一个随机索引以挑选出可能的结果 这样做的问题是 随着输出大小的增长 候选输
  • 使用电子邮件地址将文件上传到云端

    所以我不确定这是否可能以及是否有意义 我正在尝试在我的应用程序中学习和使用云空间 因此 作为示例 我尝试创建一个应用程序来在 Google Drive 中上传文件 我注册了我的应用程序并使用了谷歌提供的一些参考资料 我现在可以上传文件了 我
  • 我可以有一个没有聚集索引的主键吗?另外我可以有多值聚集索引吗?

    各位 我想了解以下问题的答案 我可以有一个没有聚集索引的主键吗 我知道当我们在列上创建主键约束时 它默认创建一个聚集索引 那么在这种情况下 我应该如何停用聚集索引 我可以有一个包含多个列的聚集索引吗 就像在非聚集中一样 我可以为单个非聚集索
  • Django:如何为允许多个文件上传的字段编写干净的方法?

    我有一个用于上传图像的表单 如果我遵循 Django 的标准清理表单的特定字段属性 这就是我的 clean 方法通常的样子 class UploadImagesForm forms Form image forms FileField de
  • 填充二维 numpy 数组给定索引之间的值

    给定一个 numpy 数组 a np zeros 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  • Windows 上需要 Mono 3.0 的配置文件

    是否有一个教程告诉我如何编写 mono 3 0 的配置文件 以便我可以使用它 微软视觉工作室 2010 其背后的原因是我的应用程序使用绑定列表 当我尝试在 Mono 中运行时 我收到此错误 WindowsFormsApplication2
  • 我正在学习java中的异常处理(基本上是继承)

    看看下面的程序 import java io import java rmi class class1 public void m1 throws RemoteException System out println m1 in class
  • for循环内的回调完成后如何执行函数?

    我在搜索函数中有一个 for 循环 其中有一个在循环内执行回调的函数 我想在循环之后以及所有回调完成之后执行 BUILD 函数 我不知道如何做到这一点 因为循环在所有回调完成之前完成 回调是获取数据的 API 请求 我想使用该数据进行 BU
  • 使用 Angular formArray 动态添加表单字段

    我有一些表单字段 想要动态添加更多来自另一个视图的字段 用户可以在其中输入表单字段类型 长度和名称 我需要使用这些值构造表单字段 我如何设法构建一个字段 textbox name is one 但是如果我尝试添加另一个字段 textbox
  • pandas中如何判断某列是否包含某些元素

    我想检查一下该列是否app包含元素myList import pandas as pd df pd DataFrame app a b c e f myList b f print df Output app 0 a b c 1 e f E
  • Android - 地图标记绕 X 轴和 Y 轴的动画旋转

    我想知道是否可以为 Google 地图标记沿 x 轴和 y 轴旋转设置动画 就像我们如何使用 ObjectAnimator 围绕 x 轴和 或 y 轴旋转 ImageView 一样 显然 人们可以顺时针旋转 改变 标记的方向 即沿着 z 轴
  • 如何为服务器启用 AVIF 支持

    AVIF 图像格式看起来是一种非常有前途的格式 如何在网络服务器上编译和使用它 我的具体是 Ubuntu 18 04 Nginx 但我正在寻找如何编译和开始转换图像的要点 AVIF似乎是一种新格式 并没有找到太多信息 但是 让我们立即看看调
  • 单击切换下拉菜单

    我正在尝试创建一个下拉菜单 该菜单在单击而不是悬停时激活 到目前为止 我已经使用一点 JavaScript 进行了单击操作 但是虽然子菜单显示得很好 并且如果单击另一个菜单 则其他子菜单会隐藏 但如果单击其父菜单 我无法弄清楚如何隐藏子菜单
  • 方向改变时 UIScrollview 内容大小

    我有一个带分页的滚动视图 在 viewDidLoad 中 我检查当前方向是否为横向 然后将其内容大小的高度设置为 440 if UIDeviceOrientationIsPortrait UIDevice currentDevice ori