[英]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.