Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4062870
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T15:39:12+00:00 2026-05-20T15:39:12+00:00

My setup: I have a webview in my iPhone app, going to www.mysite.com. Trials

  • 0

My setup:
I have a webview in my iPhone app, going to http://www.mysite.com.

Trials
If I set “backgroundcolor uicolor clearcolor” to my webview and draw an uiimage behind my webview, it won’t scroll with my webview!

My problem:
I would like the image to with the webview. Also, this image should be stored in the iPhone app and not on the webserver (Of course, if I put the image on the webserver I can simply draw it as background with CSS).

What is the best way to access this image via html/javascript/Objective C, so I can see this local image as background of my website? Is there a way at all?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T15:39:12+00:00Added an answer on May 20, 2026 at 3:39 pm

    You have a couple of options. You can load the page with a baseURL of

    [[NSBundle mainBundle] bundleURL]
    

    or you can use javascript to set the path to your image using the following method.

    [[NSBundle mainBundle] URLForResource:@"myimage" withExtension:@"png"]
    

    Edit: Check here Link to resources inside WebView – iPhone. It looks like you will use pathForResource rather than URLForResource.

    Edit 2: You may want to use Data URI’s to add your own local files to the web site.

    YourCode.m

    #import "NSString+DataURI.h"
    #import "NSData+Base64.h"
    ...
    
    -(void)webViewDidFinishLoad:(UIWebView *)webView
    {
        NSString *imgPath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];
        NSData *imgData = [NSData dataWithContentsOfFile:imgPath];
        NSString *imgB64 = [[imgData base64Encoding] pngDataURIWithContent];
    
        NSString *javascript = [NSString stringWithFormat:@"document.body.style.backgroundImage='url(%@)';", imgB64];
        [webView stringByEvaluatingJavaScriptFromString:javascript];
    }
    

    The following code I DID NOT WRITE and I am not sure of the origin

    NSData+Base64.h

    @interface NSData (Base64) 
    
    + (NSData *)dataWithBase64EncodedString:(NSString *)string;
    - (id)initWithBase64EncodedString:(NSString *)string;
    
    - (NSString *)base64Encoding;
    - (NSString *)base64EncodingWithLineLength:(unsigned int) lineLength;
    
    @end
    

    NSData.Base64.m

    #import "NSData+Base64.h"
    
    static char encodingTable[64] = {
    'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
    'Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f',
    'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v',
    'w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/' };
    
    @implementation NSData (VQBase64)
    
    - (id)initWithString:(NSString *)string {
        if ((self = [super init])) {
            [self initWithBase64EncodedString:string];
        }
        return self;
    
    }
    
    
    + (NSData *) dataWithBase64EncodedString:(NSString *) string {
        return [[[NSData allocWithZone:nil] initWithBase64EncodedString:string] autorelease];
    }
    
    - (id) initWithBase64EncodedString:(NSString *) string {
        NSMutableData *mutableData = nil;
    
        if( string ) {
            unsigned long ixtext = 0;
            unsigned long lentext = 0;
            unsigned char ch = 0;
            unsigned char inbuf[4], outbuf[3];
            short i = 0, ixinbuf = 0;
            BOOL flignore = NO;
            BOOL flendtext = NO;
            NSData *base64Data = nil;
            const unsigned char *base64Bytes = nil;
    
            // Convert the string to ASCII data.
            base64Data = [string dataUsingEncoding:NSASCIIStringEncoding];
            base64Bytes = [base64Data bytes];
            mutableData = [NSMutableData dataWithCapacity:[base64Data length]];
            lentext = [base64Data length];
    
            while( YES ) {
                if( ixtext >= lentext ) break;
                ch = base64Bytes[ixtext++];
                flignore = NO;
    
                if( ( ch >= 'A' ) && ( ch <= 'Z' ) ) ch = ch - 'A';
                else if( ( ch >= 'a' ) && ( ch <= 'z' ) ) ch = ch - 'a' + 26;
                else if( ( ch >= '0' ) && ( ch <= '9' ) ) ch = ch - '0' + 52;
                else if( ch == '+' ) ch = 62;
                else if( ch == '=' ) flendtext = YES;
                else if( ch == '/' ) ch = 63;
                else flignore = YES;
    
                if( ! flignore ) {
                    short ctcharsinbuf = 3;
                    BOOL flbreak = NO;
    
                    if( flendtext ) {
                        if( ! ixinbuf ) break;
                        if( ( ixinbuf == 1 ) || ( ixinbuf == 2 ) ) ctcharsinbuf = 1;
                        else ctcharsinbuf = 2;
                        ixinbuf = 3;
                        flbreak = YES;
                    }
    
                    inbuf [ixinbuf++] = ch;
    
                    if( ixinbuf == 4 ) {
                        ixinbuf = 0;
                        outbuf [0] = ( inbuf[0] << 2 ) | ( ( inbuf[1] & 0x30) >> 4 );
                        outbuf [1] = ( ( inbuf[1] & 0x0F ) << 4 ) | ( ( inbuf[2] & 0x3C ) >> 2 );
                        outbuf [2] = ( ( inbuf[2] & 0x03 ) << 6 ) | ( inbuf[3] & 0x3F );
    
                        for( i = 0; i < ctcharsinbuf; i++ )
                            [mutableData appendBytes:&outbuf[i] length:1];
                    }
    
                    if( flbreak )  break;
                }
            }
        }
    
        self = [self initWithData:mutableData];
        return self;
    }
    
    #pragma mark -
    
    - (NSString *) base64Encoding {
        return [self base64EncodingWithLineLength:0];
    }
    
    - (NSString *) base64EncodingWithLineLength:(unsigned int) lineLength {
        const unsigned char     *bytes = [self bytes];
        NSMutableString *result = [NSMutableString stringWithCapacity:[self length]];
        unsigned long ixtext = 0;
        unsigned long lentext = [self length];
        long ctremaining = 0;
        unsigned char inbuf[3], outbuf[4];
        unsigned short i = 0;
        unsigned short charsonline = 0, ctcopy = 0;
        unsigned long ix = 0;
    
        while( YES ) {
            ctremaining = lentext - ixtext;
            if( ctremaining <= 0 ) break;
    
            for( i = 0; i < 3; i++ ) {
                ix = ixtext + i;
                if( ix < lentext ) inbuf[i] = bytes[ix];
                else inbuf [i] = 0;
            }
    
            outbuf [0] = (inbuf [0] & 0xFC) >> 2;
            outbuf [1] = ((inbuf [0] & 0x03) << 4) | ((inbuf [1] & 0xF0) >> 4);
            outbuf [2] = ((inbuf [1] & 0x0F) << 2) | ((inbuf [2] & 0xC0) >> 6);
            outbuf [3] = inbuf [2] & 0x3F;
            ctcopy = 4;
    
            switch( ctremaining ) {
                case 1:
                    ctcopy = 2;
                    break;
                case 2:
                    ctcopy = 3;
                    break;
            }
    
            for( i = 0; i < ctcopy; i++ )
                [result appendFormat:@"%c", encodingTable[outbuf[i]]];
    
            for( i = ctcopy; i < 4; i++ )
                [result appendString:@"="];
    
            ixtext += 3;
            charsonline += 4;
    
            if( lineLength > 0 ) {
                if( charsonline >= lineLength ) {
                    charsonline = 0;
                    [result appendString:@"\n"];
                }
            }
        }
    
        return [NSString stringWithString:result];
    }
    
    @end
    

    NSString+DataURI.h

    #import <Foundation/Foundation.h>
    
    @interface NSString(DataURI)
    - (NSString *) pngDataURIWithContent;
    - (NSString *) jpgDataURIWithContent;
    @end
    

    NSString+DataURI.m

    #import "NSString+DataURI.h"
    
    
    @implementation NSString(DataURI)
    
    - (NSString *) pngDataURIWithContent;
    {
        NSString * result = [NSString stringWithFormat: @"data:image/png;base64,%@", self];
        return result;
    }
    
    - (NSString *) jpgDataURIWithContent;
    {
        NSString * result = [NSString stringWithFormat: @"data:image/jpg;base64,%@", self];
        return result;
    }
    
    @end
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Setup Have you ever had the experience of going into a piece of code
Setup: I have a COM DLL that calls a method inside a managed C#
I have setup a Django project on my laptop and build my first app.
I have an app that works with tabs and webview. I already have it
I have the following setup webview = [[UIWebView alloc] initWithFrame:[UIScreen mainScreen].bounds]; Occasionally I issue
SETUP : I have this app which has 4 activities in a linear path,
In my app i have to set up a small image as background, to
Setup I have a website that draws RSS feeds and displays them on the
Setup: I have an HTML page with a fieldset element. The background color of
Setup I have a VBScript for driving the stress testing of a web service.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.