如何在ios中移动标签

Man*_*ano 2 iphone label uilabel ios

在此输入图像描述

在这里,我需要隐藏电话号码,电子邮件,birthDate,周年纪念日和其他标签,以防这些字段没有值.我怎样才能做到这一点?

dan*_*anh 5

从最简单的方面开始,有很多方法:

self.emailLabel.hidden = YES;
Run Code Online (Sandbox Code Playgroud)

但是您可能希望重新格式化视图的其他部分以适应空白区域.保持简单,你会做这样的事情:

self.phoneLabel.frame = CGRectOffset(self.phoneLabel.frame, 0, -self.emailLabel.bounds.size.height);
Run Code Online (Sandbox Code Playgroud)

...等等以下任何事情.但你可以看到这将变得乏味.下一个也许是最好的选择是UITableView,它根据是否存在某些数据来调整它的节数.那会是这样的.使用模型的各个部分及其值准备可变数组.

- (void)prepareModel {

    self.model = [NSMutableArray array];
    [self.model addObject:@[@"Name", @"Judy"]; // get "Judy" from your data

    if (/* model has email */) {
        [self.model addObject:@[@"Email", @"judy@gmail.com"];  // get email from your model
    }
    // and so on for conditional parts of your model
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return self.model.count;
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

    return self.model[section][0];
}
Run Code Online (Sandbox Code Playgroud)

并且cellForRow将使用初始化单元格self.model[section][1].