Can';在swift中找不到什么是image.layer
我在看如何使Can';在swift中找不到什么是image.layer,swift,xcode,uiimageview,Swift,Xcode,Uiimageview,我在看如何使UIImageView循环。我能找到的就是: (图像必须是正方形) 但我在苹果的文档中找不到“图像”和“图层”属性。所以我不知道如何使用它。现在我犯了这样一个错误: 使用未解析的标识符“图像” 注意:我在代码中使用了imagehigher,没有问题 只有在您的案例中是myImage的UIImageView实例上才能访问.layer.cornerRadius零件 myImage.image指向UIImage,您无法访问.layer.cornerRadius零件 UIImage是您希望在
UIImageView
循环。我能找到的就是:
(图像必须是正方形)
但我在苹果的文档中找不到“图像”和“图层”属性。所以我不知道如何使用它。现在我犯了这样一个错误:
使用未解析的标识符“图像”
注意:我在代码中使用了image
higher,没有问题
只有在您的案例中是
myImage
的UIImageView
实例上才能访问.layer.cornerRadius
零件
myImage.image
指向UIImage
,您无法访问.layer.cornerRadius
零件
UIImage
是您希望在屏幕上看到的图像资源,而UIImageView
是在屏幕上显示该资源的资源
这是你能做的-
myImage.layer.cornerRadius = myImage.frame.size.height/2
myImage.clipsToBounds = true
您说您正在尝试将
UIImageView
制作成圆形。然后显示codeimage.layer.cornerRadius=image.frame.size.height/2
。如果正在使用图像视图,请将其命名为myImageView
,或imageView
,而不是image
。在我回答的其余部分中,我提到了一个名为myImageView
的图像视图
UIView
对象有许多不同的属性。打开Xcode文档并查看UIView
类参考,以了解有关UIView
对象的许多属性的更多信息
UIKit是一个面向对象的框架,因此类从其他类继承。UIImageView
是UIView
的子类。它具有其父类的所有属性,以及图像视图特有的属性
UIImageView
是用于显示图像的视图。除了UIView
properties之外,它还有一个属性image
,用于保存图像视图应该显示的图像
如果声明图像视图:
@IBOutlet myImageView: UIImageView
然后,您可以使用如下代码将图像安装到该图像视图中
myImageView.image = UIImage(named: "icon")
也就是说“计算等号右边的东西,将结果分配给等号左边的东西。”
UIImage(名称:)
尝试从应用程序的“bundle”(包含应用程序中所有内容的文件夹)加载具有特定名称的UIImage
。如果成功,则返回图像。如果不是,则返回nil
myImageView.image
是指UIImageView
myImageView
的image
属性。因此,该代码表示“尝试从应用程序目录加载名为‘icon’的图像,并将其安装到图像视图myImageView
)
层: 所有
UIView
对象都有一个“背衬层”。在封面下,UIKit使用CoreAnimation框架将视图绘制到屏幕,而核心动画中绘制到屏幕的主要对象是CALayer
当你说myImageView.layer.cornerRadius=myImageView.frame.size.height/2
时,你是说“计算我的图像视图的边框高度的1/2(定义它在屏幕上的位置的矩形),并用它来设置视图图层的角半径。”
对于方形视图(与代码的下一行结合使用,
myImageView.clipsToBounds=true
)的作用是将视图的层(绘制到屏幕上的对象)变成圆形。正方形视图的角被剪掉,所有用户都可以看到中间的圆形部分。请张贴实际代码而不是代码的图像,这些代码不可复制,不能由屏幕阅读器读取,不能搜索,等等。这些是UIIVIEVIEW的一部分,而不是UIIMAGE,并且上面的图像不是图像。Swift区分大小写。将其更改为小写,这样您就不会与SwiftUI Images重复。看起来您只需要将图像
(它不存在——您确实有一个UIImage
,带有大写变量名,正如错误所示)替换为myImage
,这是您的UIImageView
。摆脱缩短类型名称的习惯。如果您有一个UIImageView
,请将其称为myImageView
,而不是myImage
。同样,对于UIViewController
,将其称为myViewController
,而不是myView
。UIImage
和UIImageView
都是UIKit中的有效类型(以及UIView
和UIViewController
),如果你混淆了这些名称,你会把自己和阅读你代码的任何人弄糊涂。我明白了,非常感谢!我需要澄清一件事,当我写myImage.image=UIImage(名为:(“图标”))时,为什么我不能写:myImage=UIImage(名为:(“图标”)?myImage.image=UIImage(名为:“图标”)
应该可以<代码>“icon”是一个字符串
,这就是那里所需要的。我想Nikki的问题是关于等号左边的那个位。“我的图像”不是图像,而是图像视图。正如我在回答中所说的,在命名变量的方式上需要谨慎一致,以避免这种混乱。
myImageView.image = UIImage(named: "icon")