我在应用中有一个UITableView
,您可以用手指向上和向下滚动。已更新为iOS8
的用户告诉我它现在正在坚持并且不会向上或向下滚动。它似乎是随机的。有时它会起作用,有时却不起作用。通过移动到不同的视图并返回有时解锁它。
UITableView
填充了UIButtons
数组(如下所示)。它在iOS7中完美运行。 iOS8中是否有一些我不知道的变化?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
if (cell ==nil)
{
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
/ *这是建立按钮的人的例子。实际上制作了5个按钮* /
UIButton* button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button1 setFrame:CGRectMake(0,0,160, 160)];
[button1 setBackgroundImage:[UIImage imageNamed:@"Button1.png"] forState:UIControlStateNormal];
[button1 setTitleColor:[UIColor colorWithRed:19/255.0f green:73/255.0f blue:17/255.0f alpha:1] forState:UIControlStateNormal];
button1.titleLabel.font = [UIFont fontWithName:@"arial" size:24];
button1.titleLabel.textAlignment = NSTextAlignmentCenter;
button1.titleLabel.lineBreakMode = NSLineBreakByCharWrapping;
[button1 addTarget:self action:@selector(action1:) forControlEvents:UIControlEventTouchUpInside];
[button1 setTitle:@"Menu" forState:UIControlStateNormal];
/* the buttons are stored into an array*/
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:button1];
/*other buttons added to the array*/
[cell addSubview:[array objectAtIndex:indexPath.row]];
return cell;
答案 0 :(得分:0)
有两件事可能:
答案 1 :(得分:0)
UIButton
可能会导致滚动问题。
尝试tableView.canCancelContentTouches = YES;
如果这样做无助于尝试另外继承UITableView
,则覆盖touchesShouldCancelInContentView:
并返回YES
。
答案 2 :(得分:0)
尝试使用TapGesture而不是按钮。 我遇到了同样的问题,最后TapGesture解决了这个问题。
在iOS8中,当您在单元格上放置一个按钮时,如果按钮不够大而您尝试在手指位于按钮区域内时滚动tableView,则tableView将无法滚动。 PS:您可以尝试将按钮缩小,然后拖动按钮,您会发现它可以按照您的意愿滚动。