天气

作者: 孤傲灬流年_9c04 | 来源:发表于2018-07-01 22:46 被阅读0次

#import "ViewController.h"

#import "WeatherViewController.h"

@interface ViewController (){

   UITextField*textF;

    UIButton*queryBtn;

}

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor = [UIColor whiteColor];

    self.navigationItem.title = @"查询城市天气";

  textF = [[UITextField alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.15, self.view.frame.size.width*0.3, self.view.frame.size.width*0.7, self.view.frame.size.height*0.08)];

    textF.borderStyle = UITextBorderStyleRoundedRect;

    textF.placeholder = @"请输入您要查询的城市名称";

    [self.view addSubview:textF];

  queryBtn = [[UIButton alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.4, self.view.frame.size.width*0.5, self.view.frame.size.width*0.2, self.view.frame.size.height*0.05)];

    [queryBtn setTitle:@"查询" forState:UIControlStateNormal];

    [queryBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

    queryBtn.backgroundColor = [UIColor cyanColor];

    [queryBtn addTarget:self action:@selector(queryInformation) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:queryBtn];

}

-(void)queryInformation{

    if(textF.text==nil) {

        UIAlertView*alert = [[UIAlertViewalloc]initWithTitle:@"提示"message:@"请您输入城市名称"delegate:selfcancelButtonTitle:@"OK"otherButtonTitles:nil];

        [alertshow];

    }else{

        WeatherViewController *weather = [[WeatherViewController alloc]init];

        weather.CityName=textF.text;

        [self.navigationController pushViewController:weather animated:YES];

    }}

创建UIViewController‘

在.h中注册

@property(nonatomic , strong)NSString *CityName;

在.m中

#define WEATHER_URL @"https://www.sojson.com/open/api/weather/json.shtml?city="

#import "WeatherViewController.h"

@interface WeatherViewController (){

    UITableView*_tableV;

    NSDictionary *_dic;

    NSMutableDictionary *_dataDic;

    NSDictionary *dic;

    NSMutableArray*forecastArr;

}

@end

@implementationWeatherViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    self.navigationItem.title = self.CityName;

    self.view.backgroundColor = [UIColor whiteColor];

    _dic = [NSDictionary dictionary];

    dic = [NSDictionary dictionary];

    _dataDic = [NSMutableDictionary dictionary];

    forecastArr = [NSMutableArray array];

    NSString *ss = [self.CityName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSString*textUrl = [NSStringstringWithFormat:@"%@%@",WEATHER_URL,ss];

//    NSLog(@"%@",textUrl);

    NSURLSession *session = [NSURLSession sharedSession];

    NSURLSessionTask*task = [sessiondataTaskWithURL:[NSURLURLWithString:textUrl]completionHandler:^(NSData*_Nullabledata,NSURLResponse*_Nullableresponse,NSError*_Nullableerror) {

        //系统自带的解析方式

        self->_dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

//        NSLog(@"----==%@",_dic);

    }];

    [taskresume];

    [self tableViewAddToView];

}

-(void)tableViewAddToView{

    _tableV = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain];

    _tableV.delegate=self;

    _tableV.dataSource = self;

    [self.view addSubview:_tableV];

}

-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView{

    return 2;

}

-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section{

    if(section ==0) {

        return1;

    }else{

        return6;

    }

}

-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{

    staticNSString*str =@"cellID";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:str];

    if(!cell) {

        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:str];

    }

    _dataDic = [_dic objectForKey:@"data"];

    forecastArr = [_dataDic objectForKey:@"forecast"];

    if(indexPath.section==0) {

        _tableV.rowHeight=300;

        UITextView*textV = [[UITextViewalloc]initWithFrame:CGRectMake(0,0,self.view.frame.size.width,300)];

        textV.font= [UIFontsystemFontOfSize:25];

        textV.text = [NSString stringWithFormat:@"  湿度:%@  \n  pm2.5:%@  \n  pm1.0:%@  \n  空气质量:%@  \n  温度:%@  \n  健康:%@",[_dataDic objectForKey:@"shidu"],[_dataDic objectForKey:@"pm25"],[_dataDic objectForKey:@"pm10"],[_dataDic objectForKey:@"quality"],[_dataDic objectForKey:@"wendu"],[_dataDic objectForKey:@"ganmao"]];

//        textV.userInteractionEnabled = NO;

        [cell.contentViewaddSubview:textV];

    }elseif(indexPath.section==1){

        if(indexPath.row==0) {

            dic= [_dataDicobjectForKey:@"yesterday"];

            _tableV.rowHeight=300;

            UITextView*textV = [[UITextViewalloc]initWithFrame:CGRectMake(0,0,self.view.frame.size.width,300)];

            textV.font= [UIFontsystemFontOfSize:20];

            textV.text = [NSString stringWithFormat:@"  日期:%@  \n  日出时间:%@  \n  最高温度:%@  \n  最低温度:%@  \n  日落时间:%@  \n  空气质量:%@  \n  风向:%@  \n  风级:%@  \n  天气状态:%@  \n  注意:%@ ",[dic objectForKey:@"date"],[dic objectForKey:@"sunrise"],[dic objectForKey:@"high"],[dic objectForKey:@"low"],[dic objectForKey:@"sunset"],[dic objectForKey:@"aqi"],[dic objectForKey:@"fx"],[dic objectForKey:@"fl"],[dic objectForKey:@"type"],[dic objectForKey:@"notice"]];

//            textV.userInteractionEnabled = NO;

            [cell.contentViewaddSubview:textV];

        }else{

            NSLog(@"num==-=-=%ld",forecastArr.count);

                dic=forecastArr[indexPath.row-1];

                _tableV.rowHeight=300;

                UITextView*textV = [[UITextViewalloc]initWithFrame:CGRectMake(0,0,self.view.frame.size.width,300)];

                textV.font= [UIFontsystemFontOfSize:20];

                textV.text = [NSString stringWithFormat:@"  日期:%@  \n  日出时间:%@  \n  最高温度:%@  \n  最低温度:%@  \n  日落时间:%@  \n  空气质量:%@  \n  风向:%@  \n  风级:%@  \n  天气状态:%@  \n  注意:%@ ",[dic objectForKey:@"date"],[dic objectForKey:@"sunrise"],[dic objectForKey:@"high"],[dic objectForKey:@"low"],[dic objectForKey:@"sunset"],[dic objectForKey:@"aqi"],[dic objectForKey:@"fx"],[dic objectForKey:@"fl"],[dic objectForKey:@"type"],[dic objectForKey:@"notice"]];

//                textV.userInteractionEnabled = NO;

                [cell.contentViewaddSubview:textV];

        }

    }

    returncell;

}

相关文章

  • 天气好 天气不好

    不管天气好不好 。 清晨睁开眼,这是已经没有和你联系的第七天了,我仍不愿意承认分手这两个字。只当你是去了一趟漫长的...

  • 天气好,天气不好

    “钱钟书的目光放远...后面是,什么来着?” “是啊” 下班结束很早,回到家,房间里替猫留的灯还是亮...

  • 天气,天气,太阳呢☀️

    你们喜欢什么天气?晴天,阴天,雨天,下雪天?我喜欢晴朗的天或者难得的一场大雪天,雪花满天飘多美精致的景色。...

  • 天气

    【天气】 这两天天气不怎么样,也许白天会看起来还有些太阳,太阳的光芒也许能温暖你一些,但到了...

  • 天气

    人说春风得意,可是今天这二月的风点刺骨,昨天穿背心还热,今天穿保暖还冷,真是应了那句话,二八月乱穿衣

  • 天气

    天气的脸啊 说变就变 前天 阳光明媚万里晴空 三生三世十里桃花 昨天 你是风儿我是沙 灰头土脸闯天涯 今天 众里寻...

  • 天气

    天气陪我 给你一场狂烈的洗礼 风声萧瑟 早春的鲜花全部凋落 孤独的景色 一幕幕交错 / 天气陪你 送我一场意外的惊...

  • 天气

    阴天下雨 路上满是泥泞 行人步履匆匆 寒风刺骨 连娇艳的花都褪了色 踏入食堂 饭香并没有飘进鼻孔 但热气腾腾的 是...

  • 天气

    亲子日记82 4月13日 星期五 晴 现在的天气可真是反常,现在该热的时候冷,不该热的时候热。 ...

  • 天气

    小时候喜欢一觉醒来,看到晴空万里。如果哪天睁开眼睛,外面是阴沉的天,心情也会黯淡几分。慢慢长大,明白晴天也好,阴天...

网友评论

      本文标题:天气

      本文链接:https://www.haomeiwen.com/subject/ddghuftx.html