短視訊程式碼,摺疊cell的使用

zhibo系統開發 發表於 2021-11-29

短視訊程式碼,摺疊cell的使用實現的相關程式碼

完整程式碼如下:

@property (nonatomic, strong) UITableView* foldTableView;
@property (nonatomic, strong) NSMutableArray* foldArray;
@property (nonatomic, strong) UIButton* foldButton;
- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    
    _foldTableView = [[UITableView alloc] initWithFrame:CGRectMake(10, 100, 380, 50) style:UITableViewStylePlain];
    _foldTableView.delegate = self;
    _foldTableView.dataSource = self;
    [self.view addSubview:_foldTableView];
    [_foldTableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"normal"];
    
    _foldArray = [NSMutableArray arrayWithObjects:@"內容1", @"內容2", @"內容3", @"內容4", @"內容5", @"內容6", @"內容7", nil];
    
    _foldButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [_foldButton.layer setMasksToBounds:YES];
    [_foldButton.layer setCornerRadius:15.0];
    [_foldButton setTitle:@"點選展開" forState:UIControlStateNormal];
    [_foldButton setTitle:@"點選收起" forState:UIControlStateSelected];
    [_foldButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [_foldButton setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
    _foldButton.backgroundColor = [UIColor yellowColor];
    _foldButton.titleLabel.font = [UIFont systemFontOfSize:20];
    [_foldButton addTarget:self action:@selector(pressFoldButton:) forControlEvents:UIControlEventTouchUpInside];
    _foldButton.frame = CGRectMake(0, 0, 380, 50);
    
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return _foldArray.count;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 50;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell* normalCell = [_foldTableView dequeueReusableCellWithIdentifier:@"normal" forIndexPath:indexPath];
    [normalCell.layer setMasksToBounds:YES];
    [normalCell.layer setCornerRadius:15.0];
    if (indexPath.row == 0) {
        [normalCell.contentView addSubview:_foldButton];
    } else {
        normalCell.textLabel.text = _foldArray[indexPath.row - 1];
        normalCell.textLabel.textColor = [UIColor blackColor];
        normalCell.textLabel.textAlignment = NSTextAlignmentCenter;
        normalCell.textLabel.font = [UIFont systemFontOfSize:20];
        normalCell.backgroundColor = [UIColor yellowColor];
    }
    return normalCell;
}
- (void)pressFoldButton:(UIButton*)button {
    if (button.selected == YES) {
        button.selected = NO;
        _foldTableView.frame = CGRectMake(10, 100, 380, 50);
    } else if (button.selected == NO) {
        button.selected = YES;
        _foldTableView.frame = CGRectMake(10, 100, 380, 50 * _foldArray.count);
    }
}

以上就是 短視訊程式碼,摺疊cell的使用實現的相關程式碼,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2844625/,如需轉載,請註明出處,否則將追究法律責任。