gpt4 book ai didi

ios - iPhone 和 iPad 上的 View 放置方式不同

转载 作者:行者123 更新时间:2023-11-29 01:08:40 24 4
gpt4 key购买 nike

我开发了一个应用程序,允许用户在选择覆盖的眼镜上拍照。它在 ipad 和 ipad mini 上的工作方式完全符合我的要求,但在 iPhone 上,与 ScrollView 相关的位置是错误的(参见图片)。

func setupPages(){
pageImages = [
UIImage(named: "glasses_one")!,
UIImage(named: "glasses_two")!,
UIImage(named: "glasses_three")!,
UIImage(named: "glasses_four")!,
UIImage(named: "glasses_five")!,
UIImage(named: "glasses_six")!
]

let pageCount = pageImages.count

for _ in 0..<pageCount {
pageViews.append(nil)
}
print(pageViews.count)

let pagesScrollViewSize = scrollView.frame.size
scrollView.contentSize = CGSize(width: scrollWidth * CGFloat(pageImages.count),
height: pagesScrollViewSize.height)

scrollView.backgroundColor = UIColor.blueColor()

loadVisiblePages()
}

func loadVisiblePages() {
let pageWidth = scrollView.frame.size.width

page = Int(floor((scrollView.contentOffset.x * 2.0 + pageWidth) / (pageWidth * 2.0)))
print(page)
pageControl.currentPage = page

for index in 0...5 {
//print(" -- Index = \(index)")
loadPage(index)
}
}

func loadPage(page: Int) {
if page < 0 || page >= pageImages.count {
// If it's outside the range of what you have to display, then do nothing
return
}

// 1
if let pageView = pageViews[page] {
print(pageView.description)
// Do nothing. The view is already loaded.
} else {
// 2
var frame = scrollView.bounds
frame.origin.x = scrollWidth * CGFloat(page)
frame.origin.y = 0.0
frame.size.width = scrollWidth
// 3
let newPageView = UIImageView(image: pageImages[page])
newPageView.contentMode = .ScaleAspectFit
newPageView.frame = frame
newPageView.clipsToBounds = false
scrollView.addSubview(newPageView)


// 4
pageViews[page] = newPageView
}
}

iPad

enter image description here

苹果手机

enter image description here

最佳答案

我认为您的问题是您需要添加约束以使图像垂直居中。或者你也可以通过为你的“眼镜框”设置宽度和高度的框架来解决这个问题。较小的屏幕周围空间较小,但仍位于中间。

关于ios - iPhone 和 iPad 上的 View 放置方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36014826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com