BaseViewController

@interface BaseViewController : UIViewController

@property (nonatomic,retain)NSMutableArray*dataSource;//數(shù)據(jù)集合 用于存儲請求解析后的數(shù)據(jù)

@property (nonatomic,retain)NSMutableArray*secondarry;//數(shù)據(jù)集合 用于存儲其他的數(shù)據(jù)

@property (nonatomic,retain)MydataModel *mydateModel;//存儲用戶信息

@property (nonatomic,retain)NSMutableArray *imagePathArray;//圖片地址

@property (nonatomic,assign)BOOL keyboardIsVisible;//判斷鍵盤是否彈出

@property (nonatomic,assign) long memID;

@property (nonatomic,assign) long isFouClient;

//@property (nonatomic,retain)

- (BOOL)isloginIn;//判斷是登錄剧劝;

- (void)ShowSVProgressHUD:(NSString *)text;//請求等待提示

- (void)DismissSVProgressHUD;//移除等待

- (void)alterViewShow:(NSString*)text;//彈窗提示

///上圖下字

- (void)initButton:(UIButton*)btn;

///撥打電話

- (void)cellPhone:(NSString *)phone phoneTite:(NSString *)tite;

//讓鍵盤消失

-(void)hideKeyBoard;

//找到指定的storyboard

-(UIStoryboard*)getSelectStoryboard:(NSString*)name;

//設(shè)置狀態(tài)欄顏色

- (void)setStatusBarBackgroundColor:(UIColor *)color;

//去除多余分割線

-(void)setExtraCellLineHidden: (UITableView *)tableView;

//清除指定cell的分割線線

-(void)cleanCellLine:(UITableViewCell*)cell andTableView:(UITableView*)tableView;

//界面跳轉(zhuǎn) viewController:將跳轉(zhuǎn)的界面? animated:是否動畫

- (void)setContentViewController:(UIViewController *)viewController? animated:(BOOL)animated;

- (void)addPopupView:(NSString *)PopString andView:(UIViewController*)viewController;

//AFNetWorking的Get請求方法,Dictionary可為空nil

- (void)AFHTTPGetWithURLString:(NSString *)urlString Dictionary:(NSDictionary *)dictionary Succeed:(void(^)(id responseObject))Succeed Failured:(void(^)(NSError *error))Failured;

//AFNetWorking的POST請求方法,Dictionary可為要傳的字典

- (void)AFHTTPPOSTWithURLString:(NSString *)urlString Dictionary:(NSDictionary *)dictionary Succeed:(void(^)(id responseObject))Succeed Failured:(void(^)(NSError *error))Failured;

@end

@interface UIView (Finder)

- (UIView*) findFirstResponderView;

@end


- (void)viewWillAppear:(BOOL)animated{

? ? self.tabBarController.tabBar.hidden? =YES;

? ? [self.navigationController setNavigationBarHidden:NO animated:animated];

? ? self.isFouClient = self.mydateModel.isClient;


}

- (void)viewWillDisappear:(BOOL)animated{


? ? [self DismissSVProgressHUD];

}

- (void)viewDidLoad {

? ? [super viewDidLoad];

? ? // Do any additional setup after loading the view.

? ? self.navigationItem.title = self.title;


? ? UIBarButtonItem *backItem =[[UIBarButtonItem alloc]initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

? ? self.navigationItem.backBarButtonItem =backItem;

? ? [self.navigationController.navigationBar setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:18],NSForegroundColorAttributeName:[UIColor whiteColor]}];

? ? [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];

? ? //self.navigationController.navigationBar.backgroundColor= KAllLines;

? ? self.navigationController.navigationBar.barTintColor = KAllLines;

? ? //KAllLines

? ? self.view.userInteractionEnabled = YES;

? ? self.view.backgroundColor = [UIColor whiteColor];


? ? self.memID = self.mydateModel.menberId;

//? ? self.dataSource = [[NSMutableArray alloc] init];

}

///撥打電話

- (void)cellPhone:(NSString *)phone phoneTite:(NSString *)tite{

? ? NSMutableString *str = [[NSMutableString alloc] initWithFormat:@"tel:%@",phone];

? ? UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];

? ? UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {


? ? }];

? ? UIAlertAction *otherAction = [UIAlertAction actionWithTitle:tite style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

? ? ? ? [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

? ? }];

? ? [alertController addAction:cancelAction];

? ? [alertController addAction:otherAction];

? ? [self presentViewController:alertController animated:YES completion:nil];

}

//上圖下字

-(void)initButton:(UIButton*)btn{

? ? btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;//使圖片和文字水平居中顯示

? ? [btn setTitleEdgeInsets:UIEdgeInsetsMake(btn.imageView.frame.size.height ,-btn.imageView.frame.size.width, 0.0,0.0)];//文字距離上邊框的距離增加imageView的高度负拟,距離左邊框減少imageView的寬度,距離下邊框和右邊框距離不變

? ? [btn setImageEdgeInsets:UIEdgeInsetsMake(0.0, 0.0,0.0, -btn.titleLabel.bounds.size.width)];//圖片距離右邊框距離減少圖片的寬度嚷闭,其它不邊

}

//隱藏鍵盤

- (void)hideKeyBoard

{

? ? for (UIWindow* window in [UIApplication sharedApplication].windows)

? ? {

? ? ? ? for (UIView* view in window.subviews)

? ? ? ? {

? ? ? ? ? ? [self dismissAllKeyBoardInView:view];

? ? ? ? }

? ? }

}

-(BOOL) dismissAllKeyBoardInView:(UIView *)view

{

? ? if([view isFirstResponder])

? ? {

? ? ? ? [view resignFirstResponder];

? ? ? ? return YES;

? ? }

? ? for(UIView *subView in view.subviews)

? ? {

? ? ? ? if([self dismissAllKeyBoardInView:subView])

? ? ? ? {

? ? ? ? ? ? return YES;

? ? ? ? }

? ? }

? ? return NO;

}

#pragma mark? --? 顯示? --

- (void)ShowSVProgressHUD:(NSString *)text{


? ? if (text.length>0) {

? ? ? ? [SVProgressHUD showWithStatus:text ];


? ? }else{

? ? ? ? [SVProgressHUD showWithStatus:@"正在加載數(shù)據(jù)..."];

? ? }


}

- (void)DismissSVProgressHUD{

? ? [SVProgressHUD dismiss];

}

- (void)alterViewShow:(NSString*)text{

? ? [NineStarToolsObject alterViewShow:text viewcontroller:self stayTime:0.5];

}

#pragma mark? --? 找到指定Storyboard? --

-(UIStoryboard*)getSelectStoryboard:(NSString*)name{


? ? UIStoryboard* storyboard = [UIStoryboard storyboardWithName:name bundle:nil];

? ? return storyboard;

}

//設(shè)置狀態(tài)欄顏色

- (void)setStatusBarBackgroundColor:(UIColor *)color {


? ? UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];

? ? if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {

? ? ? ? statusBar.backgroundColor = color;

? ? }

}

#pragma mark? --? 取消tableView多余的線? --

-(void)setExtraCellLineHidden: (UITableView *)tableView

{

? ? UIView *view = [UIView new];

? ? view.backgroundColor = [UIColor clearColor];

? ? [tableView setTableFooterView:view];

}

//清除指定cell的分割線線

-(void)cleanCellLine:(UITableViewCell*)cell andTableView:(UITableView*)tableView{

? ? cell.backgroundColor = tableView.backgroundColor;

? ? cell.layer.borderColor = tableView.backgroundColor.CGColor;

? ? cell.layer.borderWidth = 1.0;

}

#pragma mark? --? 跳轉(zhuǎn)? --

- (void)setContentViewController:(UIViewController *)viewController? animated:(BOOL)animated{

? ? self.hidesBottomBarWhenPushed=YES;

? ? [self.navigationController pushViewController:viewController animated:animated];

? ? self.hidesBottomBarWhenPushed=NO;

}

- (void)addPopupView:(NSString *)PopString andView:(UIViewController*)viewController{

? ? PopupView* popView = [[PopupView alloc]initWithFrame:CGRectMake(0, self.view.frame.size.height-100, 0, 0)];

? ? popView.ParentView = viewController.view;

? ? [popView setText: PopString];

? ? [self.view addSubview:popView];


}

#pragma mark? --? 請求? --

- (void)AFHTTPGetWithURLString:(NSString *)urlString Dictionary:(NSDictionary *)dictionary Succeed:(void(^)(id responseObject))Succeed Failured:(void(^)(NSError *error))Failured {

? ? AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

? ? // 設(shè)置超時(shí)時(shí)間

? ? [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];

? ? manager.requestSerializer.timeoutInterval = 8.f;

? ? [manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];

? ? manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"application/json",@"text/plain",@"text/json",nil];


? ? [manager GET:urlString parameters:dictionary progress:^(NSProgress * _Nonnull downloadProgress) {


? ? } success:^(NSURLSessionDataTask * _Nonnull task, id? _Nullable responseObject) {

? ? ? ? Succeed(responseObject);

? ? } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

? ? ? ? Failured(error);

? ? ? ? NSLog(@"%@", [error localizedDescription]);

? ? ? ? [self DismissSVProgressHUD];

? ? ? ? if (error.code == -1001) {

? ? ? ? ? ? [self addPopupView:@"請求超時(shí)" andView:self];

? ? ? ? }else{

? ? ? ? ? ? [self addPopupView:@"請求失敗" andView:self];

? ? ? ? }

? ? }];


}

- (void)AFHTTPPOSTWithURLString:(NSString *)urlString Dictionary:(NSDictionary *)dictionary Succeed:(void(^)(id responseObject))Succeed Failured:(void(^)(NSError *error))Failured{


? ? AFHTTPSessionManager *manager =[AFHTTPSessionManager manager];


? ? // 設(shè)置超時(shí)時(shí)間

? ? [manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];

? ? manager.requestSerializer.timeoutInterval = 8.f;

? ? [manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];

? ? manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"application/json",@"text/plain",@"text/json",nil];


? ? [manager POST:urlString parameters:dictionary progress:^(NSProgress * _Nonnull uploadProgress) {


? ? } success:^(NSURLSessionDataTask * _Nonnull task, id? _Nullable responseObject) {

? ? ? ? Succeed(responseObject);

? ? } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

? ? ? ? Failured(error);

? ? ? ? NSLog(@"%@", [error localizedDescription]);

? ? ? ? [self DismissSVProgressHUD];

//? ? ? ? if (error.code == -1001) {

//? ? ? ? ? ? [self addPopupView:@"請求超時(shí)" andView:self];

//? ? ? ? }else{

//? ? ? ? ? ? [self addPopupView:@"請求失敗" andView:self];

//? ? ? ? }


? ? }];


}

//判斷是否登錄

- (BOOL)isloginIn{

? ? if (self.mydateModel.tele.length>0) {

? ? ? ? return YES;

? ? }

? ? return NO;

}

//

//-(void)viewWillDisappear:(BOOL)animated {

//? ? [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];

//? ? [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];

//}

#pragma? mark --懶加載

- (NSMutableArray*)dataSource{

? ? if (!_dataSource) {

? ? ? ? _dataSource = [[NSMutableArray alloc] init];

? ? }

? ? return _dataSource;

}

- (NSMutableArray*)secondarry{

? ? if (!_secondarry) {

? ? ? ? _secondarry = [[NSMutableArray alloc] init];

? ? }

? ? return _secondarry;

}

- (MydataModel*)mydateModel{

? ? _mydateModel = [[MydataModel alloc] initWithDictionary:[[NSUserDefaults standardUserDefaults] objectForKey:@"userData"]];

? ? return _mydateModel;

}

- (NSMutableArray *)imagePathArray{

? ? if (!_imagePathArray) {

? ? ? ? _imagePathArray = [[NSMutableArray alloc] init];

? ? }

? ? return _imagePathArray;

}

- (void)didReceiveMemoryWarning {

? ? [super didReceiveMemoryWarning];

? ? // Dispose of any resources that can be recreated.

}

/*

#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

? ? // Get the new view controller using [segue destinationViewController].

? ? // Pass the selected object to the new view controller.

}

*/

@end

@implementation UIView (Finder)

- (UIView*) findFirstResponderView {

? ? if ([self isFirstResponder]) {

? ? ? ? return self;

? ? }


? ? for (UIView* subView in self.subviews) {

? ? ? ? UIView* view = [subView findFirstResponderView];

? ? ? ? if (view != nil) {

? ? ? ? ? ? return view;

? ? ? ? }

? ? }

? ? return nil;

}

@end

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市赖临,隨后出現(xiàn)的幾起案子胞锰,更是在濱河造成了極大的恐慌,老刑警劉巖兢榨,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗅榕,死亡現(xiàn)場離奇詭異,居然都是意外死亡吵聪,警方通過查閱死者的電腦和手機(jī)凌那,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吟逝,“玉大人帽蝶,你說我怎么就攤上這事】樵埽” “怎么了励稳?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長囱井。 經(jīng)常有香客問我驹尼,道長,這世上最難降的妖魔是什么琅绅? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任扶欣,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘料祠。我一直安慰自己骆捧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布髓绽。 她就那樣靜靜地躺著敛苇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪顺呕。 梳的紋絲不亂的頭發(fā)上枫攀,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天,我揣著相機(jī)與錄音株茶,去河邊找鬼来涨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛启盛,可吹牛的內(nèi)容都是我干的蹦掐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼僵闯,長吁一口氣:“原來是場噩夢啊……” “哼卧抗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鳖粟,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤社裆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后向图,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泳秀,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年张漂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晶默。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,754評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡航攒,死狀恐怖磺陡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情漠畜,我是刑警寧澤币他,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站憔狞,受9級特大地震影響蝴悉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瘾敢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一拍冠、第九天 我趴在偏房一處隱蔽的房頂上張望尿这。 院中可真熱鬧,春花似錦庆杜、人聲如沸射众。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叨橱。三九已至,卻和暖如春断盛,著一層夾襖步出監(jiān)牢的瞬間罗洗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工钢猛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留伙菜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓厢洞,卻偏偏與公主長得像仇让,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子躺翻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容