Я пытаюсь создать tableView, где, если вы нажимаете на ячейку, она расширяется и показывает кнопки. Проблема, которую я имел до сих пор, заключается в том, что если я создаю ячейку с помощью кнопок, а затем скажу, что она должна иметь только высоту, если вы нажмете на нее, она все еще показывает кнопки, но они перекрываются со следующими ячейками в таблицеViewРасширение UITableViewCell перекрытие
Есть ли что-то, что часть ячейки, которая должна быть скрыта до нажатия, на самом деле делает это?
Это то, что я имею в viewController.m ExpandingCell.h вы найдете ниже
#import "ViewController.h"
#import "ExpandingCell.h"
@interface ViewController() <UITableViewDelegate, UITableViewDataSource>
@property (copy, nonatomic) NSArray *titleArray;
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@end
@implementation ViewController
ExpandingCell *cell;
int selectedIndex = -1;
- (void)viewDidLoad {
[super viewDidLoad];
self.titleArray = @[@"Apple", @"Orange", @"Banana", @"Kiwi", @"Melon", @"Strawberry", @"Blueberry", @"Peach"];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.titleArray count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"expandingCell";
cell = (ExpandingCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.titleLabel.text = self.titleArray[indexPath.row];
return cell;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 0) {
return 94;
} else {
return 54;
}
}
@end
ExpandCell.h лишь некоторые ярлыки и кнопки, которые находятся на мобильный
#import <UIKit/UIKit.h>
@interface ExpandingCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *titleLabel;
@property (strong, nonatomic) IBOutlet UILabel *scoreLabel;
@property (strong, nonatomic) IBOutlet UILabel *backgroundLabel;
@end
только для текстовой цели. Я установил первую ячейку, как если бы она была выбрана в: tableView: (UITableView *) tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath "Method.
то, что я получаю, представляет собой табличный вид, где первая ячейка отлично отображает с ее высотой, а затем остальные ячейки, где кнопки перекрываются над следующей ячейкой ниже.
(Я хотел показать скриншот, но он говорит, мне нужно 10 репутации, чтобы сделать это)
Если это так я очень благодарен за помощь
, пожалуйста, загрузите код, чтобы мы вам помогли. –
Как вы меняете высоты своих ячеек? Вы перезагружаете их и начинаете возвращать разные высоты в heightForCellAtIndexpath? –
Вы можете ссылаться на скриншот. Являются ли метки и кнопки добавлены в раскадровку/XIB? Попробуйте настроить представление содержимого ячейки для подзапроса клипов. – Wain