gpt4 book ai didi

iPhone HD 屏幕未映射到绘图坐标

转载 作者:行者123 更新时间:2023-12-03 21:22:42 29 4
gpt4 key购买 nike

我读到了 point/pixels苹果文档中的一些内容,但我仍然不完全清楚。我试图完成的是将工具栏放置在触摸 TextView 时出现的键盘上方。在 IOS4 之前,它的工作方式是将工具栏放置在位置 0,480 处,然后通过从其 Y 坐标中减去 keypad.size.y 来让它出现。在 IOS4 中,只要我使用 3gs 模拟器,它仍然可以正常工作,但是一旦我切换到巨大的 iphone4 模拟器,工具栏就不会出现键盘,因为它只会移动到屏幕外的某个地方。

我知道现在在计算屏幕坐标时涉及比例因子,并且使用类似的东西替换工具栏的起始位置(0,480)是有意义的

CGRect phoneRect = [Util getPhoneScreenSize];
CGSize phoneSize = phoneRect.size;
CGRect toolbarFrame = CGRectMake(0, phoneSize.height, phoneSize.width, 44);

哪里获取PhoneScreenSize:

+(CGRect) getPhoneScreenSize
{
UIScreen *mainScreen = [UIScreen mainScreen];
CGRect bounds = [mainScreen bounds];
CGRect phoneRect = bounds;

if([[UIScreen mainScreen] respondsToSelector:NSSelectorFromString(@"scale")])
{
CGFloat scale = [mainScreen scale];

if ( scale > 0 ) {
phoneRect.origin.x *= scale;
phoneRect.origin.y *= scale;
phoneRect.size.width *= scale;
phoneRect.size.height *= scale;
}

}

return phoneRect;
}

但仍然令人困惑的是,尽管我从 HD 屏幕的 getPhoneScreenSize 获得了正确的分辨率(640 x 960),但使用这些坐标将我的工具栏设置为屏幕外 (0,960)实际上会将其放置在屏幕之外并使其不会再次出现。高清屏幕的尺寸似乎没有映射到我需要用来将某些东西放置在同一屏幕上的精确位置的绘图坐标。模拟器对我来说很奇怪吗?或者我错过了什么?

最佳答案

假设手机仍然是 320x480,一切都会正常。

关于iPhone HD 屏幕未映射到绘图坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3284255/

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