我想在MaterialComponents
中使用Swift 4
将阴影添加到视图中,但是我不明白如何使用阴影升降器。我使用相同的实现创建了一个类似于documentation的名为ShadowedView
的类,然后在xib中将UIView子类设置为ShadowedView
。但是构建失败,出现此错误Use of unresolved identifier 'MDCShadowLayer'
。该文档对我来说还不清楚。谁能告诉我如何使用MaterialComponents
?
最佳答案
好的,这就是我能够弄清楚的。
有一个依赖项MDCShadowLayer
,使用'MaterialComponents/ShadowElevations'
并未包含
我将Podfile更改为以下内容:
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
target 'TestMaterialShadow' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for TestMaterialShadow
pod 'MaterialComponents'
end
然后
pod install
我正在使用swift 3,所以对我有用的是像这样使用该类:
import UIKit
import MaterialComponents
class ShadowView: UIView {
override class var layerClass: AnyClass {
return MDCShadowLayer.self
}
var shadowLayer: MDCShadowLayer {
return self.layer as! MDCShadowLayer
}
func setDefaultElevation() {
self.shadowLayer.elevation = ShadowElevation.cardResting
}
}
注意
setDefaultElevation()
中的更改似乎还有其他设置,例如
ShadowElevation.carPickedUp
等,您可以使用自动完成功能进行自我探索。然后,我使用界面生成器创建了一个UIView,将其类设置为我所谓的
ShadowView
,并为其创建了一个出口,在此在ViewController中将其命名为myView
。然后在ViewDidLoad中:
myView.setDefaultElevation()
只是建议,如果只是为视图创建自己的阴影,那么您可能会省去很多麻烦。使用该材料库有很多依赖关系,但回报很少