首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Set contentMode of UIImageView

Set contentMode of UIImageView
EN

Stack Overflow用户
提问于 2014-06-08 17:57:23
回答 5查看 51.3K关注 0票数 34

在Obj C

imageView.contentMode = UIViewContentModeScaleAspectFill;

会设置contentMode。

为什么

imageView.contentMode = UIViewContentModeScaleAspectFill

不是在斯威夫特工作?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-06-08 18:01:43

有些令人困惑的是,Swift删除了ObjC枚举值的前缀:

代码语言:javascript
复制
imageView.contentMode = .scaleAspectFill

这是因为Swift已经知道所使用的枚举类型。或者,您也可以指定枚举:

代码语言:javascript
复制
imageView.contentMode = UIViewContentMode.scaleAspectFill

注意:在版本3之前的Swift版本中,"scaleAspectFill“需要大写。

票数 84
EN

Stack Overflow用户

发布于 2014-11-14 05:58:32

在快速语言中,我们可以设置UIImage视图的内容模式,如

代码语言:javascript
复制
var newImgThumb : UIImageView
newImgThumb = UIImageView(frame:CGRectMake(0, 0, 100, 70))
newImgThumb.contentMode = .ScaleAspectFit 
票数 3
EN

Stack Overflow用户

发布于 2016-11-06 23:04:56

tldr;

下面是Swift 3的代码答案。

注:如果需要更多的信息,请评论。

请查看下面的较长答案,其中包括如何使用解决方案来设置Storyboard或Xib/Nib文件中的所有其他属性。

其他答案没有什么问题,但我想分享如何在Interface中设置对象的值。我知道OP要求代码,这个示例只是为了完整性而被共享。当然,如果一个人想要动画化属性更改或需要代码版本,那么其他答案将继续适用。

界面生成器中的

  1. 选择ImageView (或任何具有嵌入式imageView的其他控件)
  2. 检查要设置的属性的基本类型(如果是contentMode,这是UIViewContentMode)*有关如何.
  3. 注意可以分配给基类型的有效值类型(在本例中,contentMode值对应于一个数字)。
  4. 转到属性检查器,查看用户定义的Runtime属性(参见图像)
  5. 添加用户定义的属性(类型为Number )和要设置的属性名称(在本例中为)

NB -探索底层属性类型的一种简单方法是在源代码编辑器中对属性进行Cmd+Click,然后对该属性的类型进行Cmd+Click。

下面是一个简单的示例,其中我为一个UIButton设置了一些属性,其中包括一个UIImageView作为它的子视图之一。该示例展示了如何在顶层对象(UIButton)和子对象(UIImageView)上设置属性。

如果您选择了一个imageView,那么只需将用户定义的Runtime属性设置为类型为Number和任何您想要的值的contentMode。这是一个很好的方法,因为它同时适用于Objc和Swift。

最棒的是,您可以使用相同的方法为Interface中出现的任何内容捕获许多其他静态属性值。

UIViewContentMode枚举的文档化值

BTW - Swift 3更改枚举值,以小写开头,以便在Swift 3中使用以下内容:

代码语言:javascript
复制
imageView.contentMode = .scaleAspectFill
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24109114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档