将 UIImage 移动到 UIImageView 中

2023-12-01

我有一个UIImageView(红色方块)将显示UIImage必须缩放(我可以接收大于或小于UIImageView)。缩放后,显示的部分UIImage是它的中心。

我需要的是显示蓝色方块中的图像部分,我该如何存档它?

我只能获取图像尺寸(高度和宽度),但它显示原始尺寸,而它应该是缩放后的尺寸。

self.viewIm = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 120, 80)];
self.viewIm.backgroundColor = [UIColor greenColor];
self.viewIm.layer.borderColor = [UIColor redColor].CGColor;
self.viewIm.layer.borderWidth = 5.0;
UIImage *im = [UIImage imageNamed:@"benjen"];
self.viewIm.image = im;
self.viewIm.contentMode = UIViewContentModeScaleAspectFill;
//    self.viewim.clipsToBounds = YES;
[self.view addSubview:self.viewIm];

enter image description here


为了做你想做的事,我建议你研究一下CALayer's contentsRect财产。

自从看到你的答案以来,我一段时间以来一直在尝试找出正确的解决方案,但数学却让我无法理解,因为contentsRect:的 x 和 y 参数看起来有点神秘...但是这里有一些代码可能会为您指明正确的方向...

float imageAspect = self.imageView.image.size.width/self.imageView.image.size.height;
float imageViewAspect = self.imageView.frame.size.width/self.imageView.frame.size.height;

if (imageAspect > imageViewAspect) {
    float scaledImageWidth = self.imageView.frame.size.height * imageAspect;
    float offsetWidth = -((scaledImageWidth-self.imageView.frame.size.width)/2);
    self.imageView.layer.contentsRect = CGRectMake(offsetWidth/self.imageView.frame.size.width, 0.0, 1.0, 1.0);
} else if (imageAspect < imageViewAspect) {
    float scaledImageHeight = self.imageView.frame.size.width * imageAspect;
    float offsetHeight = ((scaledImageHeight-self.imageView.frame.size.height)/2);
    self.imageView.layer.contentsRect = CGRectMake(0.0, offsetHeight/self.imageView.frame.size.height, 1.0, 1.0);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 UIImage 移动到 UIImageView 中 的相关文章

  • 使用 JavaScript 从 URL 变量读取来加载不同的 CSS 样式表

    我试图在我的 WordPress 博客上使用两个不同的样式表 以便在通过 Web 访问页面时使用一个样式表 而在通过我们的 iOS 应用程序访问博客内容时使用另一个样式表 现在 我们将 app true 附加到来自 iOS 应用程序的 UR
  • 自动调整大小完成后如何获取帧大小

    我想知道 如何以及何时 viewDidLoad viewWillAppear viewDidAppear 可以获得自动调整大小以适合其父视图的 UIViews 框架大小 从你的问题中不清楚你为什么想要它 但我想这是为了布局你的子视图 幸运的
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • iOS:从非图像数据生成图像(Godus,如风景)

    所以看到图像后Godus http www kickstarter com projects 22cans project godus我想知道如何生成简单的 非交互式的 2D 图像 with 不同高度或层数的颜色不同就像下面的图片一样 我只
  • 尝试从独立的 Apple Watch 应用发出网络请求

    当应用程序是独立应用程序时 Apple Watch 是否无法进行网络通话 即使手表已连接到 iPhone 我正在使用新的独立应用程序目标 它没有附带可以发出 WatchConnectivity 请求的配对 iOS 应用程序 我十有八九收到
  • 自动布局和ios5

    我正在使用故事板 我已经使用了自动布局 但它不适用于 ios5 并且会崩溃 所以我想删除它 但是 如何取消选中自动布局 但如果我取消选中自动布局 我如何为 iPhone 4 和 5 设置屏幕 Regards 您可以在 IB 中禁用自动布局
  • Swift:从自定义 UITableViewCell 中的 UITextField 检索文本并将其放入数组中

    我正在制作一个非常简单的应用程序 用户在第一个屏幕中输入人数 在第二个屏幕中 它会生成一些UITableViewCell基于用户在第一个屏幕中输入的数字 这UITableViewCell have a UITextField在其中 一旦用户
  • swift 中的负数模

    负数模如何在 swift 中工作 当我执行 1 3 时 它给出 1 但余数是 2 其中有什么问题 雨燕余数运算符 计算余数 整数除法 a b a a b b where 是截断整数除法 在你的情况下 1 3 1 1 3 3 1 0 3 1
  • 如何使用自签名证书为 TLS 创建 iOS NWConnection?

    我正在尝试将 Apple 的新 NWConnection 类用于我的 MQTT 客户端 为了进行测试 我需要能够创建到本地测试代理的 TLS 连接 该代理具有自签名证书 到目前为止 我只是使用以下命令设置连接 self connection
  • iPad 3 中配备 Xcode 4.2 和 Retina 的 iOS 5.1

    我有一台装有 Mac OS X Snow Leopard 的 Mac 我可以添加 iOS 5 1 吗 使用 iPad 3 的新分辨率 我们将如何处理图像 因为如果该应用程序将在 iPhone 3GS 4 和 iPad 3 中运行 我认为我们
  • 在WKWebview中设置useragent

    如何在 WKWebView 中设置自定义用户代理字符串 我正在尝试嵌入我的应用程序的版本 以便我的服务器端可以看到可用的功能 我找到了以下方法 let userAgent MyApp 1 33 7 request setValue user
  • 如果 NSExtensionActivationRule 设置为仅音频,则共享扩展不会出现在有功能的应用程序中

    我正在尝试创建一个共享扩展 用户可以从任何有能力的应用程序上传她的录音 该文档甚至有一个简单的示例 请参阅声明共享或操作扩展支持的数据类型 https developer apple com library content document
  • UIImage:如何获取网站选项卡图标

    我正在开发一个 RSS 阅读器 我需要获取每个提要的图标 例如 如果我的提要是 google com 我想获取 G 图标并将其放入 UIImage 或其他内容中 关于如何实现这一目标有什么想法吗 最简单的方法是使用 Google NSStr
  • iPhone SDK - 在后台线程中运行重复进程

    我有一个iPhone我想在其中每隔一段时间在后台执行一个方法的应用程序1第二 所以在我的主线程中 我有以下代码UIViewController viewDidLoad NSTimer timerWithTimeInterval 1 0 ta
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • 如何在 EKRecurrenceRule 中设置一周中某一天的数组?

    我想在用户选择的特定日期每周添加事件 可以是一个或多个 也可以是一整天 我将用户选择的日期值存储在模型类变量中 但是 当我添加事件并选择日期时 假设今天是星期一 我选择星期二和星期三并保存 然后我查看周一和周三添加的 iPhone 日历 我
  • 播放(非库)Apple Music 内容 - 请求失败

    我正在尝试使用以下代码播放专辑 let predicate MPMediaPropertyPredicate value 1459938538 forProperty MPMediaItemPropertyAlbumPersistentID
  • iOS 发送 iMessage 尽可能简单

    我希望能够以编程方式发送 iMessage 除了调用一个将文本发送到带有消息的号码的函数之外 无需执行任何其他操作 这两个消息都是文本框 我真的很感激一些示例代码 因为我在网上搜索过 但我发现没有任何帮助 这不适用于商业应用程序 仅适用于我
  • 通用类不会将委托调用转发给具体子类

    鉴于以下情况 protocol EntityType var displayString String get extension String EntityType var displayString String return self

随机推荐

  • c# WPF AlternateContent 命名空间中不存在 [...]

    我面临着仅在设计时需要 XAML 代码的需求 我找到了一个很好的解决方案 可以找到here 似乎有几个人的解析时间有问题XmlnsDefinitionAttribute已解决here 就我而言 问题确实是 我无法编译我的代码 因为Alter
  • C 中的 fork() 系统调用

    include
  • 为什么 Python 允许提及一个方法而不调用它?

    我在发现我的错误时遇到了一些麻烦 我已经写了 myfile close 代替 myfile close 我很惊讶 也有些不高兴的是 python 没有反对 怎么会 顺便说一句 文件没有关闭 Ubuntu 上的 python 2 7 在Pyt
  • .NET System.Net.Mail 消息在内部服务器上始终被标记为垃圾邮件

    我正在使用 System Net Mail 发送几封电子邮件 电子邮件由我们的内部邮件服务器发送到本地地址 然而 所有邮件在 Outlook 中都会直接变成垃圾邮件 这些消息是从有效的电子邮件地址发送的 是什么导致我们的服务器将其标记为垃圾
  • Git checkout:“@{-N}”语法

    我在 git 手册页中找到了这一部分 但它的解释有点模糊 作为一种特殊情况 第 N 个最后分支的 N 语法 检查分支 而不是分离 您还可以指定 与 1 同义 这是什么意思 它是说 如果你这样做 git checkout 1 您将在签出当前分
  • 使用 NSString drawInRect 绘制旋转文本

    我找到了关于如何使用 NSString drawInRect 绘制旋转文本的答案 但我不确定它是如何工作的 因为它只对我有用 我的代码如下所示 CGContextSaveGState context CGContextDrawLinearG
  • 将列表拆分为 n 元组 [重复]

    这个问题在这里已经有答案了 如何将列表拆分为指定长度的元组 列表列表 splitBy Int gt a gt a splitBy 2 asdfgh 应返回 as df gh splitEvery通常会得到这份工作的认可
  • 如何判断头文件是从哪里包含的?

    我如何知道 g 在哪里可以找到包含文件 基本上如果我 include
  • 在 Objective-C (iPhone) 中将字符串保存到文件中

    我似乎偶然发现了一个关于从字符串保存 xml 文件的问题 这是在 iPhone 上完成的 该文件本身存在并包含在项目中 因此在工作区中 并且我从后面的代码片段中获得的所有指示都在模拟器上通过 没有任何错误 但在 iPhone 上失败 错误
  • css中的对角线渐变

    我见过的大多数渐变都是垂直或水平的 是否可以使用 css 实现对角渐变 我想要一个渐变 从一个角开始变暗 在对角变亮 background moz linear gradient 45deg rgba 0 0 0 0 65 0 rgba 0
  • 画布上下文属性以防止硬件加速渲染?

    画布上下文是否有一个设置可以阻止其渲染器使用硬件加速 我想在没有它的情况下进行渲染 但不想要求用户从 Chrome 浏览器中禁用它 因为这是违反直觉的 并且不能提供无缝的工作流程体验 简短回答 No 但至少那些开发 Chromium 的人正
  • 文件大小计算、Int64以及32bit和64bit的区别

    我在使用以下代码时遇到了问题 var FileSize Int64 FileSize Info nFileSizeLow or Info nFileSizeHigh shl 32 我预计它会起作用 因为Int64作业左侧的类型 但事实并非如
  • Android 应用程序仅适用于平板电脑?

    是否可以使我的应用程序仅安装在平板电脑上 我尝试使用 minsdk 版本 但它不起作用 因为有带有 froyo 的平板电脑 现在 ICS 已经出来了 我尝试使用支持屏幕 将小 正常和大设置为 false 但 HTC Flyer 是大屏幕 不
  • 如何使用 iOS GPUImage 生成直方图?

    致力于https github com luisespinoza LEColorPicker项目中 我尝试使用项目 GPUImage https github com BradLarson GPUImage 从任意输入 UIImage 生成
  • FFMPEG 比特率计算/优化

    我为 FFMPEG 编写了以下包装 function Video input crop null scale null output null extra null input new ffmpeg movie input if is ob
  • 雅虎 API 集成?

    我必须将 yahoo api 集成到我的应用程序中 谁能为我提供相关步骤 由于我们已经集成了雅虎 我们从雅虎获得了一个令牌密钥 输入密钥后我们进入应用程序 在雅虎登录后是否有任何人可以直接进入应用程序 试试这个初学者链接 http deve
  • 如何枚举HDFS目录中的文件

    如何枚举HDFS目录中的文件 这是为了使用 Scala 枚举 Apache Spark 集群中的文件 我看到有 sc textfile 选项 但它也会读取内容 我只想读取文件名 我实际上尝试了 listStatus 但没有成功 得到下面的错
  • session_set_cookie_params() 函数的“安全”参数是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP session set cookie params 我仅使用 HTTP 不是 HTTPS 我的服务器上未配置 SSL 安全 是否意味着 cookie 将仅通过 SSL 传输 或者也可以在 HT
  • 在使用 Selenium 进行自动化测试期间检查元素时,某些网页中的元素“id”会发生变化(非静态)。遇到这种情况该如何处理呢?

    我正在尝试使用带有 chrome 驱动程序的 SELENIUM 中的测试自动化来捕获下拉菜单字段 为什么使用 Chrome 浏览器检查元素时 某些网页中的元素 id 会发生变化 如何保持 id 静态而不改变 我遵循的步骤 当我检查网页中的元
  • 将 UIImage 移动到 UIImageView 中

    我有一个UIImageView 红色方块 将显示UIImage必须缩放 我可以接收大于或小于UIImageView 缩放后 显示的部分UIImage是它的中心 我需要的是显示蓝色方块中的图像部分 我该如何存档它 我只能获取图像尺寸 高度和宽