gpt4 book ai didi

iphone - UIWebView旋转后调整文本大小: looking for explanation for magical bug or my stupidity

转载 作者:行者123 更新时间:2023-12-03 18:13:30 26 4
gpt4 key购买 nike

所以我的应用程序中有 UIWebView,我向其中加载一些 html(文章),添加一些 CSS 以使一切变得更好。这简单明了,一切都很完美,直到我尝试添加横向阅读功能,然后我注意到 UIWebView 忽略了我在 HTML 中放入的任何 css“字体大小”,并在旋转到横向模式后大幅增加字体大小。

我花了大约 4-5 个小时(我是 Iphone 应用程序编程新手,但在做正确的事情上我很顽固)尝试修复它。尝试了很多很多配置选项 - 什么都没有。

今晚发生了一些神奇的事情。只需查看来源即可:

有 bug 的风景:

r = CGRectMake(0.0, 0.0, 480.0, 320.0);
[adView.view removeFromSuperview];
if (!isFullScreen) {
minus = 50 + minus;
[controlsView setFrame:CGRectMake(0, r.size.height - 50, r.size.width, 50)];
} else {
minus = 20;
}

[textView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];
[scrollView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];

横向固定(字体大小不再改变):

r = CGRectMake(0.0, 0.0, 480.0, 320.0);
[adView.view removeFromSuperview];
if (!isFullScreen) {
minus = 50 + minus;
[controlsView setFrame:CGRectMake(0, r.size.height - 50, r.size.width, 50)];
} else {
minus = 20;
}
[textView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];
[scrollView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];

if (!isFullScreen) {
minus = 1 + minus;
} else {
minus = 20+1;
}
[textView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];
[scrollView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];

如您所见,我只再添加了一次相同的代码,并将边距(负)增加了 1 个点。并再次执行 setFrame(不,它不能仅使用一组 setFrame 修复大小调整问题)。

我很高兴它能工作,但我想知道如何和为什么,所以我可以“正确的方式”做到这一点,因为现在代码看起来很愚蠢,并且在应用程序底部有 1 点高度边距。

不要问我为什么尝试再次复制粘贴相同的代码..

最佳答案

Safari Web Content Guide还提到了如何在 CSS 中禁用文本自动调整大小,这解决了我的问题。

html {
-webkit-text-size-adjust: none; /* Never autoresize text */
}

关于iphone - UIWebView旋转后调整文本大小: looking for explanation for magical bug or my stupidity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1619802/

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