0

私はiPhone/iPadデバイス向けにこのプロジェクトに取り組んでおり、プロジェクトのiPhone部分を終えた後、iPadプロジェクトのスタイルを変えることにインスピレーションを得ました。

私のシナリオ:

WebサイトにリンクするUIButtonを含むビューがあります。当初、これらのボタンはプッシュシーケンスを使用して、Webページを開くためにすでにUIWebViewが含まれている別のビューを開くことを計画していました。しかし、UIButtonを使用して、親ビュー内で目的のWebページを開くことができるのではないかと思いました。

私の質問:

UIButtonを使用してWebページをロードすることは可能ですか?ただし、Webページのロードに使用されるUIButtonと同じビューにあるUIWebViewでは可能ですか?

みなさん、よろしくお願いします。これは可能だと思いますが、現時点では何も思い浮かびません。

4

1 に答える 1

1

もちろん可能です(本当に...なぜですか?)。といくつかのサブビューUIViewがあるだけです。次に、次のようなことを行うことができます。UIWebViewUIButton

// Suppose that self.mainView is the main container (and an IBOutlet)
// and self.webView is the UIWebView (also an IBOutlet)
// and of course your UIButtons (connected to IBActions)

-(IBAction)visitSiteA:(id)sender
{
    NSString *urlAddress = @”http://www.siteA.com”;

    //Create a URL object.
    NSURL *url = [NSURL URLWithString:urlAddress];

    //URL Request Object
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    //Load the request in the UIWebView.
    [self.webView loadRequest:requestObj];
}

-(IBAction)visitSiteB:(id)sender
{
    NSString *urlAddress = @”http://www.siteB.com”;

    //Create a URL object.
    NSURL *url = [NSURL URLWithString:urlAddress];

    //URL Request Object
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    //Load the request in the UIWebView.
    [self.webView loadRequest:requestObj];
}

これで、InterfaceBuilderを使用しない場合は、コードでwebViewとボタンを作成し、それらをmainViewに追加するだけで済みます。

最後に、多数のボタンを計画している場合は、読み込み部分を別のメソッドに分割し、IBActionsからURLを渡すだけで、コードを最適化できます。このようなもの:

-(void)loadUrlAddress:(NSString *)urlAddress
{
    //Create a URL object.
    NSURL *url = [NSURL URLWithString:urlAddress]; 

    //URL Request Object
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    //Load the request in the UIWebView.
    [self.webView loadRequest:requestObj];
}

-(IBAction)visitSiteA:(id)sender
{
    [self loadUrlAddress:@"http://www.siteA.com"];
}
于 2012-07-11T18:32:25.907 に答える