У меня есть индивидуальный UITableViewCell
. У них есть следующие проблемы:Проблемы с пользовательским интерфейсом с настраиваемым UITableViewCell
- Кнопка удаления слишком далеко справа, перекрывая мой фон. Я бы хотел установить вставку так, чтобы она перемещала ее немного влево, и тогда она выглядела бы великолепно.
Синие выделен состояние охватывает всю ширину экрана, и я хотел бы он просто должны быть установлен в пределах моего изогнутого фона ячейки в.
Есть ли способ, чтобы исправить эти два вопроса? Благодарю.
Edit: Мой код выглядит следующим образом, чтобы установить фон (только пользовательский метод):
- (UIImage *)cellBackgroundForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger rowCount = [self tableView:[self tableView] numberOfRowsInSection:0];
NSInteger rowIndex = indexPath.row;
UIImage *background = nil;
if (rowIndex == 0) {
background = [UIImage imageNamed:@"cell_top.png"];
} else if (rowIndex == rowCount - 1) {
background = [UIImage imageNamed:@"cell_bottom.png"];
} else {
background = [UIImage imageNamed:@"cell_middle.png"];
}
return background;
}
Я тогда этот метод вызывается внутри пустого метода reloadTable
, который просто получает каждую клетку и обновления его после было обновление строки (добавление или удаление строки, потому что для таблицы есть 3 разных изображения). Я также называю это после того, как мой получатель результатов получает все мои данные из Core Data и загружает таблицу в первый раз.
Edit 2: Это код для метода reloadTable
:
- (void)refreshTable
{
for (NSInteger j = 0; j < [self.tableView numberOfSections]; ++j)
{
for (NSInteger i = 0; i < [self.tableView numberOfRowsInSection:j]; ++i)
{
UIImage *background = [self cellBackgroundForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]];
UIImageView *cellBackgroundView = [[UIImageView alloc] initWithImage:background];
cellBackgroundView.image = background;
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]];
cell.backgroundView = cellBackgroundView;
}
}
}
Проблемы: Я понятия не имею, как установить поле или ширину Tableview или таблицу ячейку. Мне нужно подклассировать что-то? Как это вообще делается?
Я считаю, что эти проблемы имеют отношение к границам вашего «настроенного« UITableViewCell ». Не могли бы вы опубликовать часть этого кода для нас? –
@TheKraken Я добавил код, надеюсь, что это будет полезно. – swiftcode
После того, как правильное изображение было возвращено, вы устанавливаете это для представления 'UITableViewCell'? –