【发布时间】:2014-06-23 03:28:30
【问题描述】:
使用界面生成器,我将 UIScrollView 拖到 ImageViewController 上。
我将控件从 ScrollView 拖到 ImageViewController 上,以获取 IBOutlet 来控制 scrollView。其中添加了代码:
@IBOutlet var scrollView : UIScrollView
现在我想在 scrollView 初始化后立即为其设置一个属性。
在目标 C 中,你可以编写这个函数来实现它:
-(void)setScrollView:(UIScrollView *)scrollView
{
_scrollView = scrollView
self.scrollView.contentSize = self.image ? self.image.size : CGSizeZero;
}
这将在滚动视图初始化后立即设置它的 contentSize。
目前在 Swift 中,我通过将 self.scrollView 包装在一个带有 get 函数的新 var 中来实现类似的功能:
var sgScrollView: UIScrollView
{
get {
self.scrollView.contentSize = self.image!.size
return self.scrollView!
}
}
那么不要在 viewDidLoad 中使用这段代码:
self.scrollView.addSubview(self.imageView)
我用这个:
self.sgScrollView.addSubview(self.imageView)
获取滚动视图时设置内容大小。
但是在我关注的 Objective C 教程中,他们在 scrollView 初始化和设置后立即设置它的内容大小,就像上面的 obj-c 函数一样。我怎样才能使用 Swift 做到这一点?
【问题讨论】:
标签: ios uiscrollview swift xcode6