1. 程式人生 > >IOS自定義請求uiwebview的loading框

IOS自定義請求uiwebview的loading框

.h

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface LoadingView : UIView
{
    
}

@property (assign, nonatomic) NSInteger pointCount;
@property (strong, nonatomic) LoadingView * loadingView;
@property (strong, nonatomic) UILabel * loadingLabel;
@property (strong, nonatomic) UILabel * bgLabel;
@property (strong, nonatomic) UIActivityIndicatorView * activityView;
@property (strong, nonatomic) NSTimer * timer;

- (void)showLoadingView:(UIView *)superView;
- (void)removeView;

@end
.m
#import "LoadingView.h"
#import <QuartzCore/QuartzCore.h>

@implementation LoadingView

- (void)showLoadingView:(UIView *)superView
{
    CGSize size = [UIScreen mainScreen].bounds.size;
    //背景頁面
    self.loadingView = [[LoadingView alloc] initWithFrame:[UIScreen mainScreen].bounds];
    [self.loadingView setBackgroundColor:[UIColor lightGrayColor]];
    [self.loadingView setAlpha:0.4];
    [superView addSubview:self.loadingView];
    
    //小的背景圖片
    self.bgLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size.width / 2, 100)];
    [self.bgLabel setBackgroundColor:[UIColor darkGrayColor]];
    CGPoint point = CGPointMake(self.loadingView.center.x, self.loadingView.center.y + 10);
    [self.bgLabel setCenter:point];
    self.bgLabel.layer.cornerRadius = 10;
    self.bgLabel.layer.masksToBounds = YES;
    [superView addSubview:self.bgLabel];
    
    //轉圈頁面
    self.activityView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(size.width / 2 - 30, size.height / 2 - 30, 60.0f, 60.0f)];
    [self.activityView setBackgroundColor:[UIColor clearColor]];
    [self.activityView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge];
    [superView addSubview:self.activityView];
    [self.activityView startAnimating];
    //提示文字
    CGRect labelFrame = CGRectMake(size.width / 2, size.height / 2 + 30, size.width / 3, 50);
    self.loadingLabel = [[UILabel alloc] initWithFrame:labelFrame];
    point = CGPointMake(self.loadingView.center.x, self.loadingView.center.y + 35);
    [self.loadingLabel setCenter:point];
    self.loadingLabel.textAlignment = UITextAlignmentCenter;
    self.loadingLabel.text = @"玩命載入中";
    self.loadingLabel.textColor = [UIColor whiteColor];
    self.loadingLabel.layer.cornerRadius = 30;
    self.loadingLabel.backgroundColor = [UIColor clearColor];
    [superView addSubview:self.loadingLabel];
    
    self.pointCount = 0;
    self.timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(updateLoadingLabel:) userInfo:nil repeats:YES];
}

- (void)updateLoadingLabel:(NSTimer *)timer
{
    self.pointCount ++;
    if (self.pointCount > 3)
    {
        self.pointCount = 0;
        self.loadingLabel.text = @"玩命載入中";
    }
    else
    {
        NSString * msg = @"玩命載入中";
        for (int i = 0; i < self.pointCount; i++)
        {
            msg = [NSString stringWithFormat:@"%@.",msg];
            self.loadingLabel.text = msg;
        }
    }
}

- (void)removeView
{
    [self.loadingView removeFromSuperview];
    [self.loadingLabel removeFromSuperview];
    [self.bgLabel removeFromSuperview];
    [self.activityView stopAnimating];
    [self.activityView removeFromSuperview];
    [self.timer invalidate];
    self.timer = nil;
}

@end
呼叫
self.MyLoadingView = [[LoadingView alloc]init];
[self.MyLoadingView showLoadingView:superView];
[self.MyLoadingView removeView];

下載連結





相關推薦

IOS定義請求uiwebview的loading

.h #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface LoadingView : UIView { } @property (assign, no

iOS 定義提示

在專案的開發中經常需要用到一些提示框,提示使用者是否確定進行某項操作。雖然系統提供了一個UIAlter的控制元件供開發人員使用,但是系統自帶往往有侷限性,不能滿足需求了,很多時候需要自定義提示框。我寫了一個比較簡單的自定義提示框,當然可以根據自己實際的需求,在我

[iOS]定義http 請求

第一句:首先宣告一個NSMutableURLRequest變數並把request拷貝過去。 第二句:呼叫addValue方法新增請求頭就是了,forHTTPHeaderField是新增頭域。 第三句,把NSMutableURLRequest變數拷貝回去。

iOS定義輸入文字的cell(UITextFieldCell)的使用技巧

一:開篇介紹     0.talk is cheap show me the code,原諒樓主笨拙,說話不簡潔,先附上github地址,https://github.com/horisea/UITextFieldCell,直接擼程式碼吧。如果幫助了您,請star,star

iOS彈出一個View(定義的提示

之前要寫一個iPad的一個專案,裡面有一個分享的按鈕,彈出一個View,上面幾個圖片按鈕,菜菜的我為了這個小功能花費了很多時間,最後弄明白了,發現之前的思路都想錯了,要實現彈出一個View,其實就是先

iOS開發之定義載入等待(MBProgressHUD)

原文地址:http://blog.csdn.net/ryantang03/article/details/7877120 MBProgressHUD是一個開源專案,實現了很多種樣式的提示框,使用上簡單、方便,並且可以對顯示的內容進行自定義,功能很強大,很多專案中都有

ios 定義彈出輸入(支援自動新增分隔符,字數限制等功能)

非常感謝大家利用自己寶貴的時間來閱讀我的文章 ,  今天給大家帶來的是一個自定義的彈出輸入框,支援自定義標題、各控制元件顏色、自動新增分隔符、字數限制等功能。並添加了pods匯入支援,如果需要的話希望能幫到你 , 當然, 有任何不妥的地方 歡迎指正。喜歡的可以關注一下我的簡

ios 定義鍵盤的return鍵以及鍵盤的其他一些屬性

variable 位置 arch ext ddr gin character 觸發 hone //初始化textfield並設置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20

【4】定義下拉

order viewport down jquer pos bottom last png 下拉框 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8

php curl如何設置定義請求頭和打印請求頭信息

設置 發出 cnblogs lose 請求 clas false 自定義 col $header = [ ‘client:h5‘, ‘token:test‘, ]; curlRequest($url, $params, true, 10, $header

Qt之定義搜索——QLineEdit裏增加一個Layout,還不影響正常輸入文字(好像是一種比較通吃的方法)

too 步驟 set box 文本 csdn sub void 鼠標 簡述 關於搜索框,大家都經常接觸。例如:瀏覽器搜索、Windows資源管理器搜索等。 當然,這些對於Qt實現來說毫無壓力,只要思路清晰,分分鐘搞定。 方案一:調用QLineEdit現

IOS 定義按鈕(代碼實現)+九宮格

uifont 排列 end uiview height iyu void rec name 在一些下載應用裏整個頁面都是按鈕,有好多好多,但是仔細觀察不難發現他們很有規律。就像下面一樣?? 很有規律的排列在屏幕上,那麽這需要我們怎麽去做能。 正如標題,我們需要了解兩個知

iOS定義一些提示控件

mat cat get -1 from start mask ins sel 代碼如下: .h中的代碼: // // HKUIToolsView.h // HKUIToolsDemo // // Created by isHakan on 2017/7/28

CSS學習筆記三:定義單選,復選,開關

sla checked 移動 transform 第一個 16px 位移 block back 一點一點學習CCS,這次學習了如何自定義單選框,復選框以及開關。 一、單選框 1、先寫好body裏面的樣式,先寫幾個框 1 <body> 2 <d

定義下拉樣式,利用prototype制作

制作 pointer code javascrip .text att .com 自定義 cti <script type="text/javascript" src="js/jquery-1.7.2.min.js" ></script>

背水一戰 Windows 10 (64) - 控件(WebView): 加載指定 HttpMethod 的請求, 定義請求的 http header, app 與 js 的交互

如何 pan runt logs threading dto void msg def [源碼下載] 背水一戰 Windows 10 (64) - 控件(WebView): 加載指定 HttpMethod 的請求, 自定義請求的 http header, app 與 js

定義 popWindow彈 工具包

popu second db2 oca pri dial motion void float   前言:因為Android 沒有像IOS一樣的ActionSheet,雖然在github上看到有一些類似ActionSheet的庫,總覺得不好用,不如自己寫一個彈框通用類,樣式全

定義alert彈

system div share ons title nbsp tof 接口 har 1 /**************** UIAlertControllerStyleAlert *************************/ 2 /*創建一個 可以自定義文字

ajax用beforeSend定義請求過程中客戶端事件,提高用戶體驗

函數 fun 直接 alert 完成後 and success ram reat 本文為博主原創,未經允許不得轉載: 在應用ajax的過程中,當我們再前臺提交請求的時候,如果服務端響應事件比較長,就會導致需要等很長時間在前臺才能接受到服務端返回的 響應結果,往

定義單選,復選樣式

round absolut ima tex utf-8 play col 樣式 bsp <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g