У меня проблема с моим текущим приложением.У него есть один UITableView
в UIViewController
.У меня есть один UIButton
внизу (из UITableView
).Это работает так:
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"bla"]) {
[[NSUserDefaults standardUserDefaults] setBool:FALSE forKey:@"bla"];
[tableView reloadData];
} else {
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"tasks2do"];
[tableView reloadData]; }
Это работало, когда у меня был метод cell.textLabel.text
таким образом:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *ident = @"indet";
cell = [tableView dequeueReusableCellWithIdentifier:ident];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:ident] autorelease];
}
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"bla"]) {
cell.textLabel.text = [firstArray objectAtIndex:indexPath.row];
} else {
cell.textLabel.text = [secondArray objectAtIndex:indexPath.row];
}
return cell; }
Теперь я хочу использовать UILabel
вместо cell.textLabel
, потому что он мне нужен по некоторым причинам (например, установка рамки меток)
Для этого я использовал следующий код:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *ident = @"indet";
cell = [tableView dequeueReusableCellWithIdentifier:ident];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:ident] autorelease];
}
UILabel *thislabel = [[[UILabel alloc] initWithFrame:CGRectMake(10, 10, 250, 44)] autorelease];
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"bla"]) {
[thislabel setText:[firstArray objectAtIndex:indexPath.row]];
} else {
[thislabel setText:[secondArray objectAtIndex:indexPath.row]];
}
[cell.contentView addSubview:thislabel];
return cell; }
Это работает нормально, пока я не нажму UIButton
для переключения.Она переключается, в ячейке отображается новый текст, но за новым текстом остается старый текст, как вы можете видеть здесь:
http://d.pr/Rqx2
(firstArray содержит букву L, secondArrayсодержит букву J, она смешивает оба)
Есть ли у вас какие-либо идеи для решения этой проблемы, поскольку я попробовал некоторые вещи (например, используя 2 UILabel
s для массивов и скрыть один)?Было бы здорово.:)
Я надеюсь, что мой английский не так уж плох, чтобы понять, мои навыки английского для письма не самые лучшие, извините за это.
Если вам нужна дополнительная информация / кодпросто отправьте это, не должно быть проблемой.