- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个名为 image
的 UIImage
我想更改它在 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)
最佳答案
简短的回答:你没有。
您要做的是将 ImageView 添加为另一个 View 的 subview 。做到这一点的简单方法是将 ImageView 放在 ScrollView 中,并对其进行约束,以便它唯一可以滚动的地方是向下滚动,而且只能滚动一点点。然后你可以用零代码实现滚动。
这实际上不是编码问题 - 它更像是一个界面生成器问题。您需要设置 ScrollView 。 ScrollView 是一种可让您查看较大 View 的一部分的 View 。
您可以将 ScrollView 想象成一张上面有一个矩形孔的纸。你把一张更大的纸放在它下面( ScrollView 的内容 View ),然后你可以四处滑动更大的纸并通过孔查看它的不同部分。
以下是您将如何设置它。
将 ScrollView 拖到 View Controller 上。调整大小并向其添加约束以将其放置在您想要的位置。例如,如果您希望 ImageView 的大小为 300x300 点,并且希望能够将其向上或向下拖动 20 点,则将 ScrollView 高 20 点。 (宽:300,高:320)
选择 ScrollView 内的 View 并将其宽度设置为与其 ScrollView 相同的宽度,但比 ScrollView 高 20 点。 (宽:300,高:340)。添加约束以锁定其高度和宽度。
现在您有一个 ScrollView ,它足以容纳 300x300 点的图像,顶部和底部的总空白区域为 20 点。
您已经创建了一个比它大 20 磅的内容 View ,因此它可以在 ScrollView 中向上或向下滑动 20 磅。
将 300x300 点 ImageView 拖到 ScrollView 内的 View 中,为其分配图像,并添加约束以锁定其大小并在其父 View 中水平和垂直居中。
最后一步是设置 ScrollView 的内容大小。通常你只需将 ScrollView 的内容大小设置为它的内容 View 的大小。您可以通过将这段代码添加到 View Controller 的 viewDidLoad 中来做到这一点:
(假设您已将名为 theScrollView
的 socket 连接到 ScrollView )
//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;
也可以完全不使用任何代码来设置 ScrollView 的内容大小。您将使用 IB(Interface Builder)的一项功能,称为“用户定义的运行时属性”。以下是您的操作方式:(如果您使用此方法,请不要将上面的代码添加到 viewDidLoad
)
在 IB 中选择 ScrollView 。按命令选项 3 选择“身份检查员”。在标题为“用户定义的运行时属性”的部分中,点击左侧的加号。将 Key Path
编辑为“contentSize”(除“Size”中的“S”外均为小写。这非常重要。)按 enter 键更改键路径。然后点击“类型”列并选择“尺寸”。值字段将显示“{0,0}”。输入您想要的内容大小:(上例中的“{300,340}”。)
它的作用是告诉 IB“在运行时,在所选对象( ScrollView )中查找名为“contentSize”的属性。将该属性设置为 CGSize 类型的指定值。
完成后,您的 IB“身份检查员”应该如下所示:
请注意,如果您在使用“用户定义的运行时属性”时输入错误的键名,那么当您显示该 View Controller 时应用程序会崩溃,并显示一条非常神秘的消息。
默认情况下, ScrollView 允许您在拖动内容时“过冲”,然后在您放手时弹回原位。您可以通过取消选中 IB“属性检查器”(命令选项 4)中的“弹跳”复选框来关闭该功能
关于image - 如何更改 UIImageView 中 UIImage 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30001889/
我正在尝试获取从过去的 startposition/location 到当前移动的 currentposition/location 的距离(以米为单位)。 我确实有工作正常的currentposit
所以我有一堆绝对覆盖的 div。用户通过在叠加层上拖动来创建方形 div。如果您要创建一个 div,然后放大和缩小,div 会保持在同一位置,因为它对叠加层是绝对的,如前所述。 然而问题就出在这里。您
我想找到 View 在显示屏幕上的位置。 为此,我使用了 view.getLeft() 、view.getBottom() 、view.getRight() 等方法> , view.getTop()。
我有一个看起来像这样的 View 层次结构(基于其他答案和 Apple 的使用 UIScrollView 的高级 AutoLayout 指南): ScrollView 所需的2 个步骤是: 为 Scr
所以我有一个名为 MARKS 的表,我有这些列 STUDENT_ID, CLASSFORM_NAME, ACADEMIC_YEAR, TERM, SUBJECT_NAME, TOTAL_MARKS
我有一个问题我无法理解,请帮助: 我开发了带有图像的 html 页面,并使用 jQuery UI 帮助使它们可拖动,我将这些图像位置设置为相对位置并给出了左侧和顶部像素,这是页面的链接 http://
我正在尝试创建一个 CSS 动画,它在 sprite 表中循环播放 16 个图像,给人一种幽灵“漂浮”的错觉。动画通过在 background-position 位置之间移动以显示不同状态的幽灵来实现
我正在创建这个网站的 WebView https://nearxt.com/打开时询问位置但是当我使用此链接在 flutter 中创建 webview 时那么它就无法定位我还在应用程序中定义了位置,但
我正在以编程方式创建一个需要跨越 2 个屏幕的窗口。正在创建的窗口的大小是正确的,但窗口大约从第一个屏幕的一半开始。我可以将它拖回第一个屏幕的开头,NSWindow 非常适合。 我只需要知道在窗口的起
位置“/”的匹配叶路由没有元素。这意味着默认情况下它将呈现一个空值,从而导致一个“空”页面 //App.js File import { BrowserRouter as Router, Routes
我有一个运行 Ubuntu 和 Apache 的 VPS 例如,假设地址是:5.5.5.5 在 VPS 上,我有一个名为 eggdrop 的用户(除了我的 root 用户)。 用户 eggdrop 有
我有一个 JLabel与 ImageIcon ,我使用 setIcon() JLabel中的函数. ImageIcon然后上来,坐在我的JLabel 的文字左侧.是否有可能拥有 ImageIcon在文
我的图中有节点,它们的 xlabels 位于它们的左上方。我怎样才能改变这个位置?我希望 xlabels 正好位于节点本身的旁边。 最佳答案 xlp是你想要的属性,但它没有做任何事情。 你不能改变位置
我对基本的 VIM 功能有疑问:(我尝试谷歌搜索但找不到答案) 如何列出所有自定义功能。(我做了 :function 并且不能找到我的自定义函数) 如何获得自定义函数列表中的函数(或它们的存储位置)。
我是 PHP 的新手,虽然我一直在搜索,但我不知道该怎么做。 我知道可以使用 Location("some page") 进行重定向。我还读到,只要没有向用户显示任何内容,它就可以工作。 我想做的是:
如果在 jgrowl.css 中位置更改为“center”,我如何将其覆盖为默认值,即“top-right” $.jGrowl(data, { header: 'data', an
我需要根据用户是否滑动屏幕顶部、屏幕中间或屏幕底部来触发不同的事件。我正在尝试找出最好/最简单的方法来做到这一点,因为我很确定没有办法从 UISwipeGestureRecognizer 获取位置。
我需要枚举用delphi编写的外部应用程序中使用的类 ,因此我需要访问VMT表以获取该信息,但是我找不到任何有关如何在exe(由delphi生成)文件中找到VMT(虚拟方法表)的位置(地址)的文档。
在 D2010 (unicode) 中是否有像 Pos 这样不区分大小写的类似函数? 我知道我可以使用 Pos(AnsiUpperCase(FindString), AnsiUpperCase(Sou
我正在尝试为我的reveal.js 演示文稿制作一个标题,该标题会粘贴在屏幕顶部。标题中的内容在每张幻灯片的基础上都是动态的,因此我必须将标记放在 section 标记中。 显然,如果标记在 sect
我是一名优秀的程序员,十分优秀!