如何在没有新数据的情况下将UILabel添加到tableview页脚?

时间:2014-10-31 09:37:53

标签: ios uitableview uiactivityindicatorview

我想将UILabel和UIActivityIndi​​catorView放入UITableView Footer,我希望在新的Data Fetch然后UIActivityIndi​​catorView开始制作动画时,当没有任何新数据时,Lable会显示在表格视图页脚中。

我为此编写代码,但它不能正常工作

-(void)fetchedData:(NSData *)responsedata
{
UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
spinner.frame = CGRectMake(0, 0, 320, 44);
self.newsTable.tableFooterView = spinner;


UILabel *footerlabel=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
footerlabel.text=@"No New Data Avaliable";
footerlabel.backgroundColor=[UIColor whiteColor];
footerlabel.textColor=[UIColor redColor];
self.newsTable.tableFooterView =footerlabel;

if (responsedata.length > 0)
{
    spinner.hidden=FALSE;
    footerlabel.hidden=TRUE;
    NSError* error;
    self.json = [NSJSONSerialization JSONObjectWithData:responsedata options:kNilOptions error:&error];
    if ([[_json objectForKey:@"data"] isKindOfClass:[NSArray class]])
    {
        NSArray *arr = (NSArray *)[_json objectForKey:@"data"];
        [self.imageArray addObjectsFromArray:arr];
        [self.newsTable reloadData];
        NSLog(@"images,%@",self.imageArray);
        [spinner startAnimating];
    }
    self.newsTable.hidden=FALSE;
}
if (responsedata.length == 0)
{
    [spinner stopAnimating];
    spinner.hidesWhenStopped=YES;
    footerlabel.hidden=FALSE;
}
}

当我添加单个View作为Lable / Spinner然后它正在工作但是当我同时添加两个时,那么没有任何Controller工作。 请给我解决方案。如果可能的话。

0 个答案:

没有答案