我正在使用UITableView来显示行数。当我单击该行时,需要长按才能执行操作。我检查了这个LINK和我的问题一样。但它仍然是问题所在。
// TableView中
bookshelfTbaleView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 250, 150)];
bookshelfTbaleView.delaysContentTouches=NO;
[bookshelfTbaleView setAllowsMultipleSelection:YES];
bookshelfTbaleView.dataSource=self;
bookshelfTbaleView.delegate=self;
bookshelfTbaleView.backgroundColor = [UIColor grayColor];
[bookshelfView addSubview:bookshelfTbaleView];
[scrollview addSubview:popUpBookShelfView];
// TableView委托方法
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row==0)
{
[popUpBookShelfView removeFromSuperview];
bookShelfClick=0;
}
if (indexPath.row==1)
{
NSLog(@"%@",string);
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 2;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 60;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *kCellID = @"cellID";
UITableViewCell *cell = [bookshelfTbaleView dequeueReusableCellWithIdentifier:kCellID];
cell.userInteractionEnabled=YES;
UIFont *myFont = [UIFont fontWithName:@"HelveticaNeue-CondensedBold" size:18];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellID];
//cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
if (tableView==bookshelfTbaleView) {
if (indexPath.row==0) {
cell.textLabel.text=@"All Category";
cell.textLabel.font = myFont;
cell.textLabel.textColor=[UIColor whiteColor];
}
if (indexPath.row==1) {
cell.textLabel.text=@"Downloaded Category";
cell.textLabel.textColor=[UIColor whiteColor];
cell.textLabel.font = myFont;
}
}
return cell;
}
单击TableView中的行时,需要长按才能移动到函数
tableView: didSelectRowAtIndexPath:
这是我在表格视图中获得的值。
任何人都可以解决我的问题。
感谢。
答案 0 :(得分:0)
重要说明:您不应在UIScrollView对象中嵌入UIWebView或UITableView对象。如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能会混淆和错误处理。
因为UITableView
继承自UIScrollView
。使用UIView
代替UIScrollView
。
如果您仍想在UIScrollView中使用UITableView。
制作自定义UIScrollView
并添加此
- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event {
// If not dragging, send event to next responder
if (!self.dragging)
[self.nextResponder touchesEnded: touches withEvent:event];
else
[super touchesEnded: touches withEvent: event]; }
然后进行自定义UITableViewCell
- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event {
// If not dragging, send event to next responder
[super touchesEnded: touches withEvent: event]; }
&安培;使用这个自定义单元格。