有没有办法在我的 Plus 上模拟更小的 iPhone?
Is there a way to simulate a smaller iPhone on my Plus?
我有一个 iPhone Plus 用于开发。我担心我的应用程序在 4 英寸 phone 上会像 SE 那样局促或不具备良好的 UI。有没有办法在 Plus 上模拟 4 英寸 phone?我想它会在屏幕的顶部和两侧留下空白 space。
模拟器不工作,因为比例错误。一切都显得更大。也很难在模拟器上测试触摸手势,看它们是否感觉自然。最后,它是一个相机应用程序,因此它不会 运行 在模拟器上。
我可以使用第三方应用程序或库来执行此操作。
您可以使用容器视图控制器轻松地对此进行模拟:
class FourInchViewController: UIViewController {
init(child: UIViewController) {
self.child = child
super.init(nibName: nil, bundle: nil)
addChildViewController(child)
}
// Internals:
private let child: UIViewController
override func loadView() {
let black = UIView()
black.backgroundColor = .black
view = black
view.addSubview(child.view)
}
override func viewWillLayoutSubviews() {
let size = view.bounds.size
let w = CGFloat(320), h = CGFloat(568)
child.view.frame = CGRect(
x:(size.width - w)/2,
y:size.height - h,
width: w,
height: h)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
然后,在您的应用委托中,将其设置为您的根视图控制器。
我有一个 iPhone Plus 用于开发。我担心我的应用程序在 4 英寸 phone 上会像 SE 那样局促或不具备良好的 UI。有没有办法在 Plus 上模拟 4 英寸 phone?我想它会在屏幕的顶部和两侧留下空白 space。
模拟器不工作,因为比例错误。一切都显得更大。也很难在模拟器上测试触摸手势,看它们是否感觉自然。最后,它是一个相机应用程序,因此它不会 运行 在模拟器上。
我可以使用第三方应用程序或库来执行此操作。
您可以使用容器视图控制器轻松地对此进行模拟:
class FourInchViewController: UIViewController {
init(child: UIViewController) {
self.child = child
super.init(nibName: nil, bundle: nil)
addChildViewController(child)
}
// Internals:
private let child: UIViewController
override func loadView() {
let black = UIView()
black.backgroundColor = .black
view = black
view.addSubview(child.view)
}
override func viewWillLayoutSubviews() {
let size = view.bounds.size
let w = CGFloat(320), h = CGFloat(568)
child.view.frame = CGRect(
x:(size.width - w)/2,
y:size.height - h,
width: w,
height: h)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
然后,在您的应用委托中,将其设置为您的根视图控制器。