iOS 等比缩放并居中显示

6
我想调用:
[self.view setContentMode:UIViewContentModeScaleAspectFit | UIViewContentModeCenter];
其中,selfUIViewController 的一个实例。但似乎这样做不起作用,如果有的话,有哪些直接的替代方案?

你为什么说它不起作用?你期望被缩放的视图内容是什么? - sergio
你有没有得到解决问题的其他答案? - Devarshi
@Miraaj jtbandes 当时纠正了我的误解。 - Ken
我解决了这个问题。请尝试此链接https://dev59.com/t2Up5IYBdhLWcg3wHkyo#28957516 - Nicejinux
2个回答

11

contentMode不是掩码,您不能使用|来组合值,必须选择一个。如果内容不适合视图,则UIViewContentModeScaleAspectFit应将内容居中。


3
UIViewContentModeScaleAspectFit不会将图片居中显示。 - Code Monkey
@CodeMonkey,请检查一下我最近的回答。 - ericgu

2

在视图加载时,您需要设置contentMode,并在设备旋转时调用的viewWillLayoutSubviews中将其居中。

override func viewDidLoad() {
  super.viewDidLoad()
  //additional code to instantiate and setup image
  imageView.contentMode = .ScaleAspectFit
  self.view.addSubview(profileImageView)
}

override func viewWillLayoutSubviews() {
    imageView.center.x = view.center.x
    //or imageView.center = view.center
    //or imageView.center.y = view.center.y
}

当尝试在单元格上的thumbView中居中图像时,这是如何工作的? - Aaron Saunders
这可能是一个新问题。 - ericgu
添加一个新问题并将其链接给我。 - ericgu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接