我有这个objective-c代码在屏幕中央显示一个矩形:
modalView = [[UIView alloc] initWithFrame:CGRectMake(24, 404, 592, 353)]
modalView.backgroundColor = [UIColor redColor];
问题是当我运行它时,矩形的大小和矩形的位置是关闭的(请注意,这是一个应用程序扩展,尽管我认为这无关紧要)。
我做了一些谷歌搜索并遇到了self.view.contentScaleFactor
。我在控制台中打印了这个值,虽然我在模拟具有视网膜显示屏的 iPhone 5s,但我始终得到 1.0 而不是 2.0。我继续打印[UIScreen mainScreen].scale
并获得了 2.0,所以我手动设置self.view.contentScaleFactor = [UIScreen mainScreen].scale
了这并没有什么不同。我发现如果我将 CGRectMake 中的所有数字除以 2 就可以了,但这不是一个非常优雅的解决方案。我还能如何解决这个问题?为什么会出现这种情况?
提前致谢。