如何根据我的例子改变标签的位置?

问题描述 投票:0回答:2

检查下图,

enter image description here

标签“No Records”正在显示。

我想改变它的位置,即我想稍微向上移动,所以当uitableview加载时它会隐藏。

当我创建项目时,那个时候工作正常。添加新视图(新导航)进行排序和过滤后,标签位置变为向下,现在它没有隐藏在加载器后面。

为此编写的代码是,

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

    NSInteger numOfSections = 0;
    if ([_mutableArray count]==0)
    {
        UILabel *noDataLabel         = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, tableView.bounds.size.height)];
        noDataLabel.text             =  NSLocalizedString(@"No Records..!!!",nil);
        noDataLabel.textColor        = [UIColor blackColor];
        noDataLabel.textAlignment    = NSTextAlignmentCenter;
        tableView.backgroundView = noDataLabel;
        tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

    }
    else
    {
        tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
        numOfSections                = 1;
        tableView.backgroundView = nil;
    }

    return numOfSections;

}

有没有办法根据我们的选择调整标签?

ios objective-c uitableview position uilabel
2个回答
0
投票

改变你的noDataLabel的位置,如下面的代码我已添加75检查下面的代码:

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

    NSInteger numOfSections = 0;
    if ([_mutableArray count]==0)
    {
        UILabel *noDataLabel         = [[UILabel alloc] initWithFrame:CGRectMake(0, 75, tableView.bounds.size.width, tableView.bounds.size.height)];
        noDataLabel.text             =  NSLocalizedString(@"No Records..!!!",nil);
        noDataLabel.textColor        = [UIColor blackColor];
        noDataLabel.textAlignment    = NSTextAlignmentCenter;
        tableView.backgroundView = noDataLabel;
        tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

    }
    else
    {
        tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
        numOfSections                = 1;
        tableView.backgroundView = nil;
    }

    return numOfSections;

}

你可以根据自己的方便改变y位置。

如果要在装载指示器上方显示标签,也可以在负号(-75)中设置。


0
投票
UILabel *noDataLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, tableView.bounds.size.height)];

这意味着您的标签大小等于tableView大小,因此为了标记您的标签,您可以使用此代码进行操作

CGRectMake(0, -10, tableView.bounds.size.width, tableView.bounds.size.height) //example, this will move label

但是不推荐这种解决方案,只是在加载时尝试隐藏标签,并在完成时显示。

© www.soinside.com 2019 - 2024. All rights reserved.