gpt4 book ai didi

ios - TableView 行为异常

转载 作者:行者123 更新时间:2023-11-29 03:26:39 24 4
gpt4 key购买 nike

我的 tableView (phpush) 行为异常。第 0 部分的单元格随机出现在不同的行中,有时会从表格的顶部消失。以下是我认为可能导致问题的一些方法:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (tableView==_phpush) {

if (indexPath.section==0) {

UIButton *pushButtonDate;
UIButton *pushButtonPush;
UIButton *edit;

if (cell == nil) {

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
pushButtonPush = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[pushButtonPush addTarget:self action:@selector(pushButtonPushPressed:)forControlEvents UIControlEventTouchUpInside];
[pushButtonPush setTitle:@"Push-Ups" forState:UIControlStateNormal];
pushButtonPush.frame = CGRectMake(150,7,97,30);
pushButtonDate.tag = 3;
[cell.contentView addSubview:pushButtonPush];

pushButtonDate = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[pushButtonDate addTarget:self action:@selector(pushButtonDatePressed:)forControlEvents: UIControlEventTouchUpInside];
[pushButtonDate setTitle:@"Date" forState:UIControlStateNormal];
pushButtonDate.frame = CGRectMake(11,7,97,30);
pushButtonDate.tag = 4;
[cell.contentView addSubview:pushButtonDate];

edit = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[edit addTarget:self action:@selector(editButtonPressed:)forControlEvents:UIControlEventTouchUpInside];
[edit setTitle:@"Edit" forState:UIControlStateNormal];
edit.frame = CGRectMake(200,7,97,30);
edit.tag = 5;
[cell.contentView addSubview:edit];
}
else {
pushButtonPush = [cell.contentView viewWithTag:(3)];
pushButtonDate = [cell.contentView viewWithTag:(4)];
edit = [cell.contentView viewWithTag:5];
}
return cell;
}
else {
UILabel *pushLabel;
UILabel *pushLabel2;
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
pushLabel = [[UILabel alloc]initWithFrame:CGRectMake(150,7,97,30)];
pushLabel2 = [[UILabel alloc]initWithFrame:CGRectMake(10,7,150,30)];
NSArray *array;
if (sortByDate==true) {
array = [[pushDictionary allKeys]sortedArrayUsingSelector
:@selector(localizedCaseInsensitiveCompare:)];
}
else {
array = [pushDictionary keysSortedByValueUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
}
pushLabel.text = [pushDictionary valueForKey:[array objectAtIndex:indexPath.row]];
NSString *pushLabel2String = [[array objectAtIndex:indexPath.row] substringToIndex:MIN(10, [[array objectAtIndex:indexPath.row] length])];
NSArray *pushLabel2Array = [pushLabel2String componentsSeparatedByString:@"-"];
pushLabel2.text = [NSString stringWithFormat:@"%@/%@/%@",[pushLabel2Array objectAtIndex:1],[pushLabel2Array objectAtIndex:2],[pushLabel2Array objectAtIndex:0]];
pushLabel.tag = 1;
pushLabel2.tag = 2;
[cell.contentView addSubview:pushLabel];
[cell.contentView addSubview:pushLabel2];
}
else {
pushLabel = [cell.contentView viewWithTag:1];
pushLabel2 = [cell.contentView viewWithTag:2];
}
return cell;
}
}
else {
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
else {

}
return cell;
}
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
if (tableView==_phpush) {
return 2;
}
return 1;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (tableView==_phpush) {
if (section==0) {
return 1;
}
return [pushDictionary allKeys].count;
}
return 1;
}

我想知道我是否犯了任何大错误会导致这个问题。我是 iOS 编程的新手,所以如果我犯了一个明显的错误,请原谅我。我需要发布更多我的代码吗?

谢谢,

乔丹

最佳答案

您的 tableViewCell 出列有问题。

在你的else语句中

else {
pushButtonPush = [cell.contentView viewWithTag:(3)];
pushButtonDate = [cell.contentView viewWithTag:(4)];
edit = [cell.contentView viewWithTag:5];
}

您永远不会修改这些按钮的内容。您设置的那些变量未被使用,因为您没有更改按钮文本,也没有删除或添加 View 。如果他们需要做一些不同的事情,您需要在此处指定。

关于ios - TableView 行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20382833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com