【发布时间】:2015-07-15 04:14:05
【问题描述】:
我正在尝试像这样观察collectionView.contentSize:
func startObserveCollectionView() {
collectionView.addObserver(self, forKeyPath: "contentSize", options: NSKeyValueObservingOptions.Old.union(NSKeyValueObservingOptions.New), context: &SearchDasboardLabelContext)
}
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if context == &SearchDasboardLabelContext {
if object === collectionView && keyPath! == "contentSize" {
print(change)
}
}
}
在 xcode 终端中,我得到了 NSSize 而不是 CGSize,如下所示:
Optional(["old": NSSize: {320, 0}, "new": NSSize: {375, 39.5}, "kind": 1])
在objective-c中我使用了CGSizeValue方法
CGSize newContentSize = [[change objectForKey:NSKeyValueChangeNewKey] CGSizeValue];
swift中有没有类似CGSizeValue的方法
我在 swift var newContentSize = change[NSKeyValueChangeNewKey]?.CGSizeValue() 中尝试过,但出错了
找不到成员“CGSizeValue”
需要帮助吗?谢谢
【问题讨论】:
标签: xcode swift key-value-observing