vì vậy tôi có UIWebView trong ứng dụng của mình và tôi tải một số html (bài viết) vào nó, đặt một số CSS để làm mọi thứ đẹp hơn. Điều đó đơn giản và rõ ràng và mọi thứ đều hoàn hảo cho đến khi tôi cố gắng thêm vào chức năng cảnh quan và sau đó tôi nhận thấy UIWebView bỏ qua bất kỳ "cỡ chữ" css nào tôi đã đặt trong HTML và tăng kích thước phông chữ mạnh sau khi quay sang chế độ ngang.UIWebView thay đổi kích thước văn bản sau khi xoay: tìm kiếm lời giải thích cho lỗi ma thuật hoặc ngu ngốc của tôi
Tôi đã dành khoảng 4-5 giờ (tôi mới sử dụng ứng dụng lập trình Iphone, nhưng tôi khá bướng bỉnh khi nói đến việc làm điều gì đó đúng) cố gắng khắc phục. Đã thử nhiều và rất nhiều tùy chọn cấu hình - NOTHING.
Và tối nay điều gì đó huyền diệu đã xảy ra. Chỉ cần nhìn vào nguồn:
Cảnh với The 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)];
Cảnh cố định (font size không thay đổi nữa):
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)];
Như bạn có thể thấy tôi chỉ thêm cùng một mã một lần nữa và tăng biên độ (trừ) một điểm. Và đã setFrame một lần nữa (không, nó không sửa đổi kích thước chỉ với một bộ setFrames).
Tôi vui vì nó hoạt động, nhưng tôi muốn biết LÀM THẾ NÀO VÀ TẠI SAO, vì vậy tôi có thể làm điều đó "đúng cách", bởi vì bây giờ mã trông ngu ngốc và có 1 điểm lề cao ở dưới cùng của ứng dụng.
Và đừng hỏi tại sao tôi đã cố gắng để sao chép dán đoạn mã tương tự một lần nữa ..
2016 giải pháp: http://stackoverflow.com/a/2711132/294884 – Fattie