如何更改 UIImageView 中 UIImage 的位置

2023-12-09

我有一个UIImage called image我想改变它在里面的位置imageView所以可以稍微向下拖动,大约30px。有人可以告诉我该怎么做吗?这就是我要做的,但结果不正确。

var image = UIImage()
var imageView = UIImageView(frame: CGRectMake(0, 0, view.frame.size.height * 0.22, view.frame.size.height * 0.22))
        imageView.center = CGPointMake(self.view.center.x, view.frame.size.height * 0.414)
        imageView.image = self.image
            imageView.layer.cornerRadius = imageView.frame.size.width / 2
            imageView.layer.borderWidth = 2.0
            imageView.layer.borderColor = UIColor(red: 254.0/255, green: 216.0/255, blue: 0/255, alpha: 1.0).CGColor
            imageView.clipsToBounds = true
            imageView.layer.contentsRect = CGRectMake(0, 20, imageView.frame.size.width, imageView.frame.size.height) //This is where I have being trying to do it but no success.
        imageView.contentMode = .ScaleAspectFill
        view.addSubview(imageView)

简短的回答:你不知道。

您要做的是将图像视图添加为另一个视图的子视图。执行此操作的简单方法是将图像视图放入滚动视图中,并进行约束,以便它唯一可以滚动的位置是向下滚动,而且只能稍微向下滚动。然后就可以用零代码实现滚动。

EDIT:

这实际上并不是一个编码问题——它更像是一个界面生成器问题。您需要设置滚动视图。 滚动视图是一种允许您查看较大视图的一部分的视图。

您可以将滚动视图想象成一张带有矩形孔的纸。您将一张更大的纸放在它下面(滚动视图的内容视图),然后您可以滑动更大的纸并通过孔查看它的不同部分。

以下是您的设置方法。

将滚动视图拖到视图控制器上。调整其大小并为其添加约束以将其放置在您想要的位置。例如,如果您希望图像视图的大小为 300x300 点,并且希望能够将其向上或向下拖动 20 点,则使滚动视图高 20 点。 (宽:300,高:320)

选择滚动视图内的视图,并将其宽度设置为与滚动视图相同的宽度,但比滚动视图高 20 磅。 (宽:300,高:340)。添加约束以锁定其高度和宽度。

现在,您的滚动视图足以容纳 300x300 点图像,顶部和底部总共有 20 点空白。

您创建了一个比该值大 20 磅的内容视图,因此它可以在滚动视图中向上或向下滑动 20 磅。

将 300x300 点图像视图拖到滚动视图内的视图中,为其分配图像,然后添加约束以锁定其大小并将其在其超级视图中水平和垂直居中。

最后一步是设置滚动视图的内容大小。通常,您只需将滚动视图的内容大小设置为其内容视图的大小。您可以通过将这段代码添加到视图控制器的 viewDidLoad 来做到这一点:

(假设您已将一个插座连接到您的滚动视图,称为theScrollView)

//Get the first (and only) subview of the scrollView.
let subview = theScrollView.subviews[0] as! UIView;

//Make the scroll view's contentSize the same size as the content view.
theScrollView!.contentSize = subview.bounds.size;

也可以设置滚动视图的内容大小,而无需任何代码。您可以使用 IB(接口生成器)的一项功能,称为“用户定义的运行时属性”。以下是您的操作方法:(如果您使用此方法,请勿将上面的代码添加到viewDidLoad)

在 IB 中选择滚动视图。 按 command-option 3 选择“身份检查器”。 在“用户定义的运行时属性”部分中,点击左侧的加号。编辑Key Path到“contentSize”(除了“Size”中的“S”之外,全部小写。这非常重要。)按 Enter 键更改键路径。然后点击“类型”列并选择“尺寸”。值字段将显示“{0,0}”。输入您所需的内容大小:(上例中为“{300,340}”。)

它的作用是告诉 IB“在运行时,在所选对象(滚动视图)中查找名为“contentSize”的属性。将该属性设置为 CGSize 类型的指定值。

完成后,您的 IB“身份检查器”应如下所示:

enter image description here

请注意,如果您在使用“用户定义的运行时属性”时得到错误的键名,那么当您显示该视图控制器时应用程序会崩溃,并显示一条非常神秘的消息。

默认情况下,滚动视图允许您在拖动其内容时“过度”,然后在松开时弹回原位。您可以通过取消选中 IB“属性检查器”中的“反弹”复选框来关闭该功能(命令选项 4)

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

如何更改 UIImageView 中 UIImage 的位置 的相关文章

  • 在 Swift 中寻找“退出”等价物[重复]

    这个问题在这里已经有答案了 我尝试把exit 0 在一个小型测试 命令行 程序中 Xcode 给出了一条错误消息 指出Use of unresolved identifier exit 这让我很困惑 因为这个问题 https stackov
  • 在 iPhone 上使用 Xcode Auto Layout 处理不同的图像尺寸

    通过纵向 iPhone 的自动布局 我不希望 iPhone 6 上的游戏角色的 UIImageView 尺寸与 iPhone 4S 中的完全相同 4S 的角色需要更小一些 否则看起来会太大 使用自动布局如何更改 iPhone 之间的图像尺寸
  • 动态增加UITableViewCell中UILabel的高度?

    我有一个 UITableView 其中显示一个自定义单元格 我的单元格有两个标签和一个视图 如下图所示 我已经像这样给出了左视图的约束 项目标签限制 中心视图约束 右视图的约束 I am using a bean class to stor
  • 调整 SKShapeNode 的大小

    如何调整 SKShapeNode 的大小 到目前为止我尝试过的 调整框架大小 box frame width 10 给出错误Cannot assign to the result of this expression SKAction le
  • 从数组中获取随机字符串[重复]

    这个问题在这里已经有答案了 我试图从数组 firstArray 中获取随机字符串并将其打印在 UILabel label 中 我似乎无法弄清楚并且出现错误 感谢您的帮助 我尝试搜索但找不到任何最新的教程 方法 import UIKit cl
  • 如何使 SFSpeechRecognizer 在 macOS 上可用?

    我正在尝试使用 Apple 的语音框架在 macOS 10 15 1 上进行语音识别 在 macOS 10 15 之前 语音识别仅在 iOS 上可用 但根据文档 https developer apple com documentation
  • 检查定位服务是否开启

    我一直在对 CoreLocation 进行一些研究 最近 我遇到了一个在其他地方 但在 Objective C 和 iOS 8 中 已经讨论过的问题 我觉得问这个问题有点傻 但是如何在 iOS 9 上使用 swift 检查是否启用了位置服务
  • SwiftUI 列表与右侧的部分索引?

    是否可以有一个在右侧有索引的列表 就像下面 SwiftUI 中的示例一样 我在 SwiftUI 中做了这个 Contacts swift TestCalendar Created by Christopher Riner on 9 11 2
  • Java:ImageIcon 与 Image 的区别

    谁能以菜鸟的方式向我解释一下两者之间有什么区别图像图标 and ImageJava 中的类 对象 谢谢 它们的性质和应用是不同的 Image http docs oracle com javase 6 docs api java awt I
  • 调整图像的亮度、对比度和伽玛值

    在 NET 中调整图像的亮度 对比度和伽玛值的简单方法是什么 c and gdi have a simple way to control the colors that are drawn It s basically a ColorMa
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • 如何使用AudioKit保存音频文件?

    我有音频文件 我给它做了一些效果 let pitchshifter AKPitchShifter self audioPlayer pitchshifter shift 10 AudioKit output pitchshifter 如果我
  • 如何接收有关与我共享的记录中所做更改的 CloudKit 通知?

    我有两个 iCloud 帐户 A and B 在两个不同的设备上 来自其中之一 A 我将 ckrecord 分享给另一个人 B 像这样 let controller UICloudSharingController controller p
  • 如何使使用 css 调整大小的图像在 IE 中看起来不错?

    当使用 css 宽度 高度或属性宽度 高度缩放图像时 IE6 和 IE7 无法很好地缩放网页中的图像 我不确定它默认使用哪种算法 但这不好 在这些浏览器中缩放时 缩放图像会显示锯齿伪影 幸运的是 有一种方法可以通过简单的 css 规则强制
  • UIButton的高亮状态由什么控制事件开始和结束

    我正在创建类似钢琴的视图UIButton作为钢琴键 什么UIControlEvents当按钮获得和失去突出显示状态时 我应该监听以获得回调吗 我试图创建子类UIButton并添加属性观察者highlighted并且运行良好 然而 有时我需要
  • Android 相机未保存在特定文件夹 [MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA]

    当我在 Intent 中使用 MediaStore INTENT ACTION STILL IMAGE CAMERA 时遇到问题 相机正常启动 但它不会将文件保存在我的特定文件夹 photo 中 但是当我使用 MediaStore ACTI
  • 使用 CSS 的响应式图像

    我发现调整图像大小以使其具有响应能力很棘手 我正在开发一个 php 应用程序来自动将网站转换为响应式版本 我有点被图像困住了 我已经成功地为网站上的每个图像添加了一个包装类 并且可以很好地调整图像的大小 我的问题在于自然小于窗口的图像 例如
  • 在 iOS 中,如何创建一个始终位于所有其他视图控制器之上的按钮?

    无论是否呈现模态或用户执行任何类型的转场 有没有办法让按钮在整个应用程序中 始终位于顶部 而不是屏幕顶部 有什么方法可以让这个按钮可拖动并可捕捉到屏幕上吗 我正在以苹果自己的辅助触摸作为此类按钮的示例 您可以通过创建自己的子类来做到这一点U
  • 如何让按钮闪烁?

    我试图在扫描正确时将按钮的颜色 只是闪烁 闪烁 更改为绿色 在出现问题时将按钮的颜色更改为红色 我可以用这样的视图来做到这一点 func flashBG UIView animateWithDuration 0 7 animations s
  • Xcode 8 / Swift 3:“UIViewController 类型的表达式?未使用”警告

    我有以下函数 它之前编译得很干净 但在 Xcode 8 中生成警告 func exitViewController navigationController popViewController animated true UIViewCon

随机推荐

  • Travis 与 Firebase 部署 TypeError:this.stream.clearLine 不是函数

    我正在尝试使用 Travis 构建和部署 NodeJs Python 应用程序 这大约是文件夹结构 所有内容都属于同一个存储库 main angular2 client dist node modules django server ser
  • 如何在Python中调用超级构造函数?

    class A def init self print world class B A def init self print hello B output hello 在我使用过的所有其他语言中 超级构造函数都是隐式调用的 如何在 Pyt
  • 上传前获取文件大小、图片宽度和高度

    在上传到我的网站之前 如何使用 jQuery 或 JavaScript 获取文件大小 图像高度和宽度 多张图片上传并带有信息数据预览 Using HTML5 和File API 使用示例URL API 图像源将是表示 Blob 对象的 UR
  • 正则表达式 - 识别分数

    我需要使用正则表达式从菜谱数据库中的表单字段中识别分数 成分将被输入到由两部分组成的表单字段中 第一字段是数量 第二字段是成分 然后 我需要将字段一分解为其小数部分以输入到数据库中 可能的条目包括 1 1 2 1 1 2 以及前面任何一个带
  • 在120个字符后附加readmore标签,并使其在ios中可点击

    数据来自解析器 如果文本超过 120 个字符 那么它应该像 Facebook 一样附加 ReadMore 我已经获得了附加文本的代码 但不知道如何制作可点击的链接 我正在使用 Swift Languge if cell bhikmangaT
  • 如何在 Angular JS Web 应用程序中使用 ckeditor?

    我很难使用ckeditor在我内置的 html 页面中angularjs 我已经尝试了很多例子 ng ckeditor directive ckeditor directive 但这些例子都没有帮助我 我想要一个文本区域 我可以在其中输入图
  • 在 Typescript 类中声明常量

    在 TypeScript 中声明常量的最佳方式是什么class 你不能声明一个常量 你可以声明一个readonly场 它比您期望的常数弱 但可能足够好 class MyClass static readonly staticReadOnly
  • Mac OS X >= 10.6 上的 Finder 文件图标徽章(图标覆盖)

    我正在寻找一种解决方案 可以在 Mac 上使用 cocoa 进行文件图标叠加 图标徽章 就像 Dropbox 在 mac 上所做的那样 有谁知道如何做到这一点 我搜索了 Xcode 文档并研究了scp插件源代码是一种旧的碳代码 有点晚了 但
  • Docker 容器无法到达本地主机端口 4444。为什么呢?

    我容器化了一个应用程序 它是自动化 Selenium 测试的测试驱动程序 Selenium 服务器 也称为 Selenium Hub 在另一个容器以及 Firefox 节点中运行 位于 localhost 4444 下 但我的应用程序无法到
  • 响应.on 是什么意思? Node.js

    我在处理 Node js http 请求时遇到问题 如果我无法弄清楚 我稍后会问一个更大的问题 我有修改过的代码和示例 但我不明白 response on 的含义 阅读有关 Node js 中 http 的更多信息 HTTP 事务剖析 我没
  • 浮点数表示,Java 示例[重复]

    这个问题在这里已经有答案了 您能否解释一下为什么我得到下一个结果 当我运行这个时 System out println 0 2 0 1 我得到 0 1 当我运行这个时 System out println 0 3 0 2 我得到 0 099
  • 在 Blazor 中,“await Task.Run(StateHasChanged)”和“await InvokeAsync(StateHasChanged)”之间有什么区别?

    我最近继承了 Blazor Webassemble 应用程序 但对 dotnet 或 Blazor 的经验很少 一些组件使用await Task Run StateHasChanged 而不是await InvokeAsync StateH
  • 根据字符将 Python 字符串列表拆分为单独的列表

    我试图弄清楚如何根据列表中的字符将以下列表拆分为单独的列表 list 2014 00 03 01 Matt login 0 01 2014 02 06 12 Mary login 0 01 我想在引入每个 符号后创建一个列表 例如 我希望输
  • PayPal 订阅 PDT / IPN - 请

    我在理解贝宝支付方面遇到了很多麻烦 我如何确认用户已成功注册我的订阅 我对 IPN 的了解为 0 但例如 如果用户使用以下命令注册到我的网站 电子邮件受保护 但使用贝宝帐户 电子邮件受保护 付款然后我如何匹配用户 我读到 PDT 不会发送用
  • 使用 jsonpath 获取匹配元素的父级

    假设我有一个如下所示的 JSON 对象 name A sub prop 1 prop 2 prop 3 name B sub prop 7 prop 8 prop 9 我怎样才能得到元素的父元素prop值为2 jsonpath query
  • 将最大值添加到 R 中的新列[重复]

    这个问题在这里已经有答案了 这是数据 a lt c 1 1 2 2 3 b lt c 1 3 5 9 4 df1 lt data frame a b df1 a b 1 1 1 3 2 5 2 9 3 4 我想要这样的东西 a b max
  • 如何使用 Pygame 播放正弦波/方波?

    我正在尝试使用 Pygame 播放正弦波sndarray make sound功能 但是 当我使用这个数组来播放它时 np sin 2 np pi np arange 44100 440 44100 astype np float32 wh
  • 如何更改 ICS 风格的 EditText 中线条的颜色

    我在我的应用程序中将 ABS 与主题全息一起使用 并且我得到的 EditText 样式就像在 ICS 中一样 但 EditText 的线条颜色默认为蓝色 对于我的设计 我需要 EditText 的白色线条 我尝试更改背景 但不起作用 有什么
  • 当 URL 存在时 urllib2 捕获 404 错误

    我遇到了奇怪的错误 urllib2 在打开有效的 url 时捕获 404 错误 我在浏览器中试了一下 可以打开url 我还传递了用户代理 import urllib request as urllib2 uri https i ytimg
  • 如何更改 UIImageView 中 UIImage 的位置

    我有一个UIImage called image我想改变它在里面的位置imageView所以可以稍微向下拖动 大约30px 有人可以告诉我该怎么做吗 这就是我要做的 但结果不正确 var image UIImage var imageVie