迅捷 – 为什么我的vfl无法正常工作?
发布时间:2020-12-14 02:23:55 所属栏目:百科 来源:网络整理
导读:我有以下代码,我试图实现添加到垂直滚动视图的动态图像.我想有它的约束,所以图像设置在scrollView的边框内. 然而结果是图像似乎保持其原始大小(比滚动视图大,因此图像被裁剪) 这是代码: @IBOutlet weak var myScrollView: UIScrollView!private let letters
我有以下代码,我试图实现添加到垂直滚动视图的动态图像.我想有它的约束,所以图像设置在scrollView的边框内.
然而结果是图像似乎保持其原始大小(比滚动视图大,因此图像被裁剪) 这是代码: @IBOutlet weak var myScrollView: UIScrollView! private let lettersModel:LettersModel = LettersModel(); private var imgs = [UIImageView](); override func viewDidLoad() { super.viewDidLoad() myScrollView.backgroundColor = UIColor.brownColor() for var index=0; index<1; index++ { let myImage:UIImage = UIImage(named: lettersModel.getLetterAt(index))! let myImageView:UIImageView = UIImageView() myImageView.image = myImage myImageView.contentMode = UIViewContentMode.ScaleAspectFit myScrollView.addSubview(myImageView) myImageView.translatesAutoresizingMaskIntoConstraints = false; myScrollView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|-[myImageView]-|",options: [],metrics: nil,views:["myImageView":myImageView] )) imgs.append(myImageView) } }
UIVcrollView内部的UIView无法调整其父级的大小.您可以在UIScrollView中创建UIView并更新layoutSubviews中的宽度,并在UIView中添加所有UIView.以下是如何执行此操作:(为此,您需要设置UIScrollView的contentSize的高度,但您还必须设置它以使其滚动.)
class MyScrollView : UIScrollView { let contentView = UIView() override init (frame : CGRect) { super.init(frame : frame) addSubview(contentView) } convenience init () { self.init(frame:CGRect.zero) } required init(coder aDecoder: NSCoder) { fatalError("This class does not support NSCoding") } override func layoutSubviews() { contentView.frame.size.width = frame.width contentView.frame.size.height = contentSize.height super.layoutSubviews() } } var myScrollView = MyScrollView(frame: CGRect(x: 0,y: 0,width: 400,height: 600)) var imgs = [UIImageView](); let myImage = UIImage(named: "achtergrond") let myImageView:UIImageView = UIImageView() myImageView.image = myImage myImageView.contentMode = UIViewContentMode.ScaleAspectFit myScrollView.contentSize.height = 1000 // <-- setting the contentSize myScrollView.contentView.addSubview(myImageView) // <-- You add the UIImageView to the contentView myImageView.translatesAutoresizingMaskIntoConstraints = false; myScrollView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|-[myImageView]-|",views:["myImageView":myImageView] )) imgs.append(myImageView) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |