- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- (void) fixUIAfterRotation: (UIInterfaceOrientation) interfaceOrientation
{
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:UIInterfaceOrientationIsPortrait(interfaceOrientation)? @"bg_new.png":@"bg_new_90.png"]]];
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
NSString *htmlStr;
webError = NO;
orient = UIInterfaceOrientationIsPortrait(interfaceOrientation)? 1:2;
float width_ = [[UIScreen mainScreen] bounds].size.height;
viewNews.frame = isRotation? (UIInterfaceOrientationIsPortrait(interfaceOrientation)?
CGRectMake(0, 0, width_, 240):CGRectMake(0, 0, width_, width_ - 90)):(UIInterfaceOrientationIsPortrait(interfaceOrientation)? CGRectMake(0, 0, 320, width_ - 81):CGRectMake(0, 0, width_, 240));
isRotation = isRotation? NO:isRotation;
#if defined(PRO_PROJECT)
if (UIInterfaceOrientationIsPortrait(interfaceOrientation))
{
htmlStr = [NSString stringWithFormat:@"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">
<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><title>Untitled Document</title>
<style>body {margin:0px; padding:0px; font:13px arial; background:none;}
a {text-decoration:underline; color:#fbcf04; font-weight:bold; !important;} a:hover {text-decoration:none;}
.title{background:#575757 left top repeat-x; font:bold 15px Arial; color:#FFF; padding:14px 30px 0px 0px; height:31px;
border-bottom:1px solid #000000; line-height:14px}.titleIm{background:#575757 left top repeat-x; padding:13px 8px 13px 13px; height:31px;
border-bottom:1px solid #000000;}.news_body {border-top:1px solid #414141; padding:10px 14px 14px 14px;
color:#FFF; line-height:19px; background:#3d3d3d;}.news_body p {padding-top:0px;}</style></head>
<body><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"320\" height=\"388\"><tr><td width=\"75\" valign=\"top\" class=\"titleIm\">
<img src=%@ height=\"70\" width=\"70\"></td><td valign=\"top\" class=\"title\">%@
<div style=\"font:11px Arial; color:#858585; line-height:18px;\">%@</div></td></tr><tr>
<td colspan=\"2\" valign=\"top\" class=\"news_body\">%@</td></tr></table></body></html>",
imageName, [newsDescription objectForKey:@"titleNews"],
[CORENewsTitleList getDataString:[newsDescription objectForKey:@"dateNews"]],
[newsDescription objectForKey:@"discriptionNews"]];
}
else
{
htmlStr = [NSString stringWithFormat:@"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">
<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><title>Untitled Document</title>
<style>body {margin:0px; padding:0px; font:13px arial; background:none;}
a {text-decoration:underline; color:#fbcf04; font-weight:bold; !important;}a:hover {text-decoration:none;}
.title {background:#575757 left top repeat-x; font:bold 15px Arial; color:#FFF; padding:14px 30px 0px 0px; height:31px;
border-bottom:1px solid #000000; line-height:14px}.titleIm {background:#575757 left top repeat-x; padding:13px 8px 13px 13px; height:31px;
border-bottom:1px solid #000000;}.news_body {border-top:1px solid #414141; padding:10px 14px 14px 14px;
color:#FFF; line-height:19px; background:#3d3d3d;}.news_body p {padding-top:0px;}</style></head>
<body><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"%f\" height=\"240\"><tr><td width=\"75\" valign=\"top\" class=\"titleIm\">
<img src=%@ height=\"70\" width=\"70\"></td><td valign=\"top\" class=\"title\">%@
<div style=\"font:11px Arial; color:#858585; line-height:18px;\">%@</div></td></tr><tr>
<td colspan=\"2\" valign=\"top\" class=\"news_body\">%@</td></tr></table></body></html>",
width_, imageName, [newsDescription objectForKey:@"titleNews"],
[CORENewsTitleList getDataString:[newsDescription objectForKey:@"dateNews"]],
[newsDescription objectForKey:@"discriptionNews"]];
}
#else
if (UIInterfaceOrientationIsPortrait(interfaceOrientation))
{
// тот же упоротый код, что и выше, за исключением цветов для бэкграунда и надписей.
}
else
{
// тот же упоротый код, что и выше, за исключением цветов для бэкграунда и надписей.
}
#endif
[viewNews loadHTMLString:htmlStr baseURL:baseURL];
}
Поворачиваем вебвью во вью-контроллере, который может использоваться в 2 проектах, имеющих различные темы (отличается бэкграунд и цвет надписей).
Lure Of Chaos 30.05.2013 16:09 # +2
bormand 30.05.2013 16:10 # +4
Lure Of Chaos 30.05.2013 16:11 # +2
defecate-plusplus 30.05.2013 16:13 # +5
а если серьезно - это пиздец даже для меня
eth0 30.05.2013 17:21 # 0
defecate-plusplus 30.05.2013 17:27 # +6
пока они жрут миллион ObjC программистов (а это примерно часа полтора), следующие на очереди - мы
так что пусть пока побудут буфером безопасности
Xom94ok 30.05.2013 19:08 # +9
Мистер Хэнки 02.06.2013 19:56 # 0
wvxvw 30.05.2013 16:52 # 0
XHTML 1.0 Transitional//EN\"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html
xmlns=\"http://www.w3.org/1999/xhtml\"> <head><meta
http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"
/><title>Untitled Document</title> <style>body {margin:0px;
padding:0px; font:13px arial; background:none;} a
{text-decoration:underline; color:#fbcf04; font-weight:bold;
!important;} a:hover {text-decoration:none;}
.title{background:#575757 left top repeat-x; font:bold 15px
Arial; color:#FFF; padding:14px 30px 0px 0px; height:31px;
border-bottom:1px solid #000000;
line-height:14px}.titleIm{background:#575757 left top repeat-x;
padding:13px 8px 13px 13px; height:31px; border-bottom:1px solid
#000000;}.news_body {border-top:1px solid #414141; padding:10px
14px 14px 14px; color:#FFF; line-height:19px;
background:#3d3d3d;}.news_body p
{padding-top:0px;}</style></head> body><table cellpadding=\"0\"
cellspacing=\"0\" border=\"0\" width=\"320\"
height=\"388\"><tr><td width=\"75\" valign=\"top\"
class=\"titleIm\"> img src=%@ height=\"70\" width=\"70\"></td><td
valign=\"top\" class=\"title\">%@ div style=\"font:11px Arial;
color:#858585; line-height:18px;\">%@</div></td></tr><tr> td
colspan=\"2\" valign=\"top\"
class=\"news_body\">%@</td></tr></table></body></html>",
imageName, [newsDescription objectForKey:@"titleNews"],
[CORENewsTitleList getDataString:[newsDescription
objectForKey:@"dateNews"]], [newsDescription
objectForKey:@"discriptionNews"]];
?
bormand 30.05.2013 16:56 # +2
Я искренне надеюсь, что на ифунах можно спрятать эту срань в файл, а от кода оставить формат и его аргументы...
P.S. Или вообще подготовить 4 разных файла и не парить моск.
QuickNick 30.05.2013 17:38 # 0
Чуть позже выяснил, что это велосипед, и можно было бы попробовать какой-нибудь XmlSerializer (org.xmlpull).
bormand 30.05.2013 20:04 # 0
QuickNick 31.05.2013 09:04 # 0
bormand 31.05.2013 09:20 # 0
QuickNick 31.05.2013 12:29 # 0
bormand 31.05.2013 12:38 # 0
krypt 31.05.2013 15:37 # 0
3.14159265 31.05.2013 17:02 # +2
Тут Роман когда-то постил хороший пример, тоже совсем короткий.
Входные параметры - структура документа. Плюс емнип там еще были функции-генераторы.
roman-kashitsyn 31.05.2013 17:09 # 0
krypt 31.05.2013 17:16 # 0
krypt 31.05.2013 17:22 # 0
Там внутри WebView ещё суровые манипуляции с элементами производятся. Входные данные приходят с сервера в виже html, после чего запихиваются этим кодом в вебвью, подрубаются скрипты и генерируют/обновляют документ внутри WebView по необходимости.
Эта часть функционала давно переписана без использования UIWebView (года полтора как), а эта хрень оставалась для iOS 3.1.3. Какого чёрта QuickNick её откопал и что с ней собирается делать - я не знаю, но предчувствия у меня нехорошие.
roman-kashitsyn 31.05.2013 17:26 # 0
вот пример.
QuickNick 31.05.2013 18:10 # 0
krypt 31.05.2013 18:29 # 0
krypt 31.05.2013 18:33 # 0
Vasiliy 06.04.2016 10:26 # 0
krypt 31.05.2013 17:14 # 0
krypt 31.05.2013 14:23 # 0
krypt 31.05.2013 14:25 # 0
---
Хотя, кстати, в html-коде узнаю тут так же почерк нашего бывшего главного программиста...
krypt 31.05.2013 14:37 # 0
Выброси это говно, оно нужно только для <3.2. ВО всех остальных случаях использовался Core Text, который (на момент моего ухода) умел всё тоже самое, что и вебвью.
QuickNick 31.05.2013 15:15 # 0
krypt 31.05.2013 15:24 # 0
А по теме - нафига вам сдалось говно, от которого давно отказались и оставляли только для совместимости со старыми версиями iOS?
QuickNick 31.05.2013 18:07 # 0
krypt 31.05.2013 18:30 # 0
guest 07.01.2017 01:28 # −1
guest8 11.07.2020 03:51 # −999