我想MaterialComponents
在Swift 4
我的视图中使用阴影,但我不明白如何使用阴影电梯。我创建了一个名为文档ShadowedView
的类,具有相同的实现,然后在 xib 中我将 UIView 子类设置为. 但是构建失败并出现此错误。文档对我来说不清楚。谁能向我解释我该如何使用?ShadowedView
Use of unresolved identifier 'MDCShadowLayer'
MaterialComponents
问问题
609 次
2 回答
3
好的,这就是我能够弄清楚的。
有一个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
的,并为它创建了一个出口,在这里命名为myView
ViewController 中的名称。
然后在 ViewDidLoad 中:
myView.setDefaultElevation()
就像一个建议,如果你只是为你的视图创建自己的阴影,你可能会省去很多麻烦。使用该材质库需要很多依赖,但回报很少
于 2017-11-22T19:37:01.337 回答
0
您不需要导入整个MaterialComponnent
.
只需将 pod 添加MaterialComponents/ShadowLayer
到您的 pod。
于 2019-03-03T07:16:58.233 回答