嵌入在 UIScrollView (SWIFT) 中的 UIImageView 的约束问题
Posted
技术标签:
【中文标题】嵌入在 UIScrollView (SWIFT) 中的 UIImageView 的约束问题【英文标题】:Trouble with constraints on UIImageView embedded inside UIScrollView (SWIFT) 【发布时间】:2016-03-22 19:10:22 【问题描述】:我在以编程方式在 Swift 中添加约束时遇到问题,我已在 ScrollView 中创建并添加为 UIImageView。我希望滚动视图中的每个图像都与 128px 的宽度和高度一样大。
Here is what the simulator looks like。我正在尝试使用
创建一个滚动轮播import UIKit
class ViewController: UIViewController
@IBOutlet weak var label: UILabel!
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.scrollView.frame = CGRectMake( 0, 0, self.view.frame.width, 128)
let scrollViewHeight = self.scrollView.frame.height
let scrollViewWidth = self.scrollView.frame.width
var imgOne = UIImageView(frame: CGRectMake(0, 0, scrollViewWidth, scrollViewHeight))
var imgTwo = UIImageView(frame: CGRectMake(scrollViewWidth, 0, scrollViewWidth, scrollViewHeight))
imgOne.image = UIImage(named: "Slide 1")
imgTwo.image = UIImage(named: "Slide 4")
self.scrollView.addSubview(imgOne)
self.scrollView.addSubview(imgTwo)
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.width * 2, self.scrollView.frame.size.height)
// let horizonalContraints = NSLayoutConstraint(item: scrollView, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: view, attribute: NSLayoutAttribute.Width, multiplier: 1.0, constant: 0)
// NSLayoutConstraint.activateConstraints([horizonalContraints])
【问题讨论】:
【参考方案1】:在运行应用程序时尝试捕获视图层次结构,以查看问题出在滚动视图还是图像视图。 (只需在 Xcode 捕获视图中搜索...) 当我使用约束将视图嵌入到另一个视图中时,我也遇到了这种错误。
如果您还没有尝试过每个元素的 NSLog 帧,也可以尝试一下。
希望它能帮助你解决问题。
【讨论】:
以上是关于嵌入在 UIScrollView (SWIFT) 中的 UIImageView 的约束问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使在Swift中使用UIScrollView进行滚动和缩放
在 ScrollView 中嵌入 PageViewController - 以编程方式 Swift 5
UIScrollView 嵌入其他 UIScrollView
嵌入在 UIScrollview 中的 UIWebview 中的 Javascript 触摸事件