当视图加载以适合屏幕宽度时,如何更改NIB文件中视图框架的宽度

时间:2015-08-24 21:41:40

标签: ios swift

以下是关于让scrollView正常工作的原始帖子:ScrollView in NIB File Swift。 我的新问题是,当我放入滚动视图的外部长视图加载到小于iPhone 6+的任何ios设备上时,它不适合宽度。我试图在viewDidLoad中更改视图的宽度,但它说:“无法分配给此表达式的结果。”

GitHub链接:https://github.com/frodgers1207/Testing-ScrollViews

class ScrollViewVC: UIViewController {

@IBOutlet weak var mainScrollView: UIScrollView!

@IBOutlet var contentView: UIView!
@IBOutlet weak var contentViewTitle: UILabel!
@IBOutlet weak var contentViewPrice: UILabel!
@IBOutlet weak var contentViewImageContainer: UIScrollView!

@IBOutlet var imageContainer: UIView!
@IBOutlet weak var imageOne: UIImageView!
@IBOutlet weak var imageTwo: UIImageView!
@IBOutlet weak var imageThree: UIImageView!

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
    //set the tab bar item's title
}
convenience init() {
    self.init(nibName: "ScrollViewVC", bundle: nil)
}
required init(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
    super.viewDidLoad()

    contentView.frame.width = UIScreen.mainScreen().bounds.width //Error Here: "Cannot assign to the result of this expression"
    self.mainScrollView.contentSize.height = self.contentView.frame.height
    self.mainScrollView.contentSize.width = UIScreen.mainScreen().bounds.width
    self.mainScrollView.addSubview(contentView)
    self.contentViewImageContainer.addSubview(self.imageContainer)
    self.contentViewImageContainer.contentSize = self.imageContainer.frame.size
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

编辑:我是否需要使用框架的init创建自定义UIView?这会允许我在运行时根据设备调整我的UIView的宽度吗?

Layout in Interface Builder

这是nib文件的外观。每个屏幕截图都是顶级视图,我在视图加载时将它们相互添加,以便更好地了解我要完成的任务。

0 个答案:

没有答案