blob: d9730e376a473ed459c636e76ad96dea9a1b946c (
plain)
1
2
3
4
5
6
7
8
9
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
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#import "WebKitView.h"
#import <UIKit/UIView-Geometry.h>
@implementation WebKitView
-(void)loadString: (NSString *)str
{
[webView loadHTMLString: str baseURL: [NSURL URLWithString: @"http://foo.com"]];
[scroller setOffset: CGPointMake(0, 0)];
}
-(void)loadURL: (NSURL *)url
{
NSURLRequest* urlRequest = [NSURLRequest requestWithURL: url];
[webView loadRequest: urlRequest];
}
-(void)dealloc
{
[webView release];
[super dealloc];
}
-(void)setPolicyDelegate: (id) obj {
[[webView webView] setPolicyDelegate: obj];
}
- (BOOL)respondsToSelector:(SEL)aSelector
{
NSLog(@"WKV Request for selector: %@", NSStringFromSelector(aSelector));
return [super respondsToSelector:aSelector];
}
/*-(void)view: (id)v didSetFrame:(CGRect)f
{
if( v == webView )
[scroller setContentSize: CGSizeMake(f.size.width, f.size.height)];
}*/
-(void)view:(id)v didDrawInRect:(CGRect)f duration:(float)d
{
if(v == webView)
[scroller setContentSize: CGSizeMake(320, [webView bounds].size.height)];
}
-(id)initWithFrame: (CGRect)frame
{
[super initWithFrame: frame];
scroller = [[UIScroller alloc] initWithFrame: frame];
[scroller setScrollingEnabled: YES];
[scroller setAdjustForContentSizeChange: YES];
[scroller setClipsSubviews: YES];
[scroller setAllowsRubberBanding: YES];
[scroller setDelegate: self];
webView = [[UIWebView alloc] initWithFrame: frame]; //[scroller bounds]];
[webView setAutoresizes: YES];
[webView setDelegate: self];
//[webView setFrame: frame];
//[webView setAutoresizingMask: 2]; //don't reflow text... or something
//[webView setSmoothsFonts: true];
//[webView setClipsSubviews: YES];
//[webView setEnabledGestures: YES];
[webView setTilingEnabled: YES];
[webView setTileSize: CGSizeMake(320.0f,1000.0f)];
[scroller addSubview: webView];
[self addSubview: scroller];
return self;
}
@end
|