How can I perform Paging in UIWebView?

我的梦境 提交于 2019-12-06 15:11:08
Ankit Vyas
const CGFloat kScrollObjHeight  = 900;

const CGFloat kScrollObjWidth   = 766;

const NSUInteger kNumImages = 11;



- (void)layoutScrollImages

{

    UIImageView *view = nil;
    NSArray *subviews = [scrollView1 subviews];


    // reposition all image subviews in a horizontal serial fashion
    CGFloat curXLoc = 0;
    for (view in subviews)
    {
        if ([view isKindOfClass:[UIWebView class]] && view.tag > 0)
        {
            CGRect frame = view.frame;
            frame.origin = CGPointMake(curXLoc, 0);
            view.frame = frame;

            curXLoc += (kScrollObjWidth);
        }
    }

    // set the content size so it can be scrollable
    [scrollView1 setContentSize:CGSizeMake((kNumImages * kScrollObjWidth), [scrollView1 bounds].size.height)];
}

- (void)viewDidLoad {
    [super viewDidLoad];

    arrHtmlPage=[[NSMutableArray alloc] initWithObjects:@"",@"2",@"3",@"4",@"5",@"6",@"8",@"9",@"11",@"12",@"13",@"14",nil];

    [scrollView1 setBackgroundColor:[UIColor blackColor]];
    [scrollView1 setCanCancelContentTouches:NO];
    scrollView1.indicatorStyle = UIScrollViewIndicatorStyleWhite;
    scrollView1.clipsToBounds = YES;        // default is NO, we want to restrict drawing within our scrollview
    scrollView1.scrollEnabled = YES;

    // pagingEnabled property default is NO, if set the scroller will stop or snap at each photo
    // if you want free-flowing scroll, don't set this property.
    scrollView1.pagingEnabled = YES;



    int i;
    for (i = 0; i <[arrHtmlPage count]; i++)
    {

        NSBundle *bundle = [NSBundle mainBundle];

        NSString *htmlTemplateLink = [bundle pathForResource:[arrHtmlPage objectAtIndex:i] ofType:@"htm"];

        NSLog(@"htmlTemplateLink==>%@",htmlTemplateLink);

        NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlTemplateLink]];
        wview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 766, 940) ];
        wview.backgroundColor=[UIColor redColor];
        wview.tag=i;
        wview.scalesPageToFit = YES;
        [wview loadRequest:request];

        wview.userInteractionEnabled=YES;

        [scrollView1 addSubview:wview];


    }

    [self layoutScrollImages];  

}



-(IBAction)buttonPressed:(id)sender
{

     int pageNo = [sender tag] ; // current page no
    int tempNo = pageNo%10 + 1; // total count

    CGPoint bottomOffset = CGPointMake((tempNo-1) * 768,0);
    [scrollView1 setContentOffset:bottomOffset animated:YES];
}

In xcode 4.3.1 create a new project. File -> New project -> Page-Based application. Drag and drop a UIWebView onto the storyboard.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!