簡體   English   中英

加載視圖時,如何使圖像覆蓋屏幕?

[英]How do I make an image cover the screen when a view is loading?

我有一個Web視圖,當您單擊網頁上的鏈接時,我希望屏幕在頁面顯示期間顯示圖像(聽起來很奇怪,但這是有原因的)。

我是XCode的新手,並且已經完成了一些教程,但是如何使事情在XCode(通常是目標C)中實現仍然讓我感到困惑。

似乎該過程應該是這樣的-在webViewDidStartLoad方法中,我調用了一個類,即UIImageView。 在那個班上是形象。 然后在webViewDidFinishLoad中,我要么刪除圖像,要么將其降低到堆棧中。

我只是為實現此目標需要做的所有事情感到困惑。 這是我到目前為止的內容:

一個名為loadingView的類,其中包含一個名為showLoadingScreen的方法。 在這種方法中我有代碼:

 UIView *view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
 [view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Icon-76.png"]]];

然后,我轉到情節提要,並在webView上插入一個新的UIView,並為其提供類loadingView。 然后,我控制從此UIView單擊到ViewController.h,並將其放在視圖控制器中,創建代碼:

@property (strong, nonatomic) IBOutlet UILabel *loadingPageView;

並導入loadingView.h。

這個對嗎? 如果是,那么我需要將此方法放入webViewDidStartLoad中,但是我無法弄清楚要放在哪里的代碼。 看來我做了類似的事情:

[self.view addSubview:imageView];

但是我不知道如何根據我的代碼對其進行自定義。

如果要使視圖覆蓋屏幕,請使用:

[[[UIApplication sharedApplication] keyWindow] addSubview:myImageView];

這會將您的UIImageView添加到您的關鍵UIWindow中,該窗口將顯示在任何UIViewController上。 否則,將UIImageView添加為UIWebView的子視圖。 如果要保證UIImageView在視圖堆棧的頂部,請調用:

[self.webView bringSubviewToFront:myImageView];

無論哪種方式,都將UIImageView維護為全局屬性/ ivar,以便以后可以調用:

[myImageView removeFromSuperview];

步驟1:在某處聲明一個imageview屬性:

@property (strong, nonatomic) UIImageView * coverImageView;

步驟2:在webViewDidStartLoad顯示圖片視圖

- (void) webViewDidStartLoad:(UIWebView *)webView {
    if (!_coverImageView) _coverImageView = [[UIImageView alloc]init];
    _coverImageView.frame = self.view.bounds;
    _coverImageView.image = [UIImage imageNamed:@"Icon-76.png"];
    [self.view addSubview:_coverImageView];
}

步驟3:在webViewDidFinishLoad刪除圖像視圖

- (void) webViewDidFinishLoad:(UIWebView *)webView {
    [_coverImageView removeFromSuperview];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM