gpt4 book ai didi

iphone - 在 UITableView 中选择 UIImage

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

我有一个 UITableView,它填充了每个单元格的信息、详细信息和图像。我也有它,因此当选择一个单元格时,它会将用户带到详细 View 。我想要完成的是如何区分用户单击单元格或单元格中的图像时的区别。

我想显示一个小 subview ,当用户单击单元格中的图像时,小 subview 将保留在原始框架中,但为用户提供其他可以交互的内容。

我环顾四周,似乎找不到一个简单的解释或从哪里开始。这是通过 facebook 和 twitter 等应用程序完成的,在表格 View 中您可以看到用户的个人资料图片,您可以单击它而不是实际的单元格......

任何信息都会非常感谢!

谢谢@Nekno,我已经开始尝试实现这个方法,如果你不介意澄清或提出你的意见,我有几个问题。

这是我到目前为止所写的内容

// Here we use the new provided setImageWithURL: method to load the web image with    
//SDWebImageManager
[cell.imageView setImageWithURL:[NSURL URLWithString:[(Tweet*)[avatarsURL
objectAtIndex:indexPath.row]avatarURL]]
placeholderImage:[UIImage imageNamed:@"avatar.png"]];




//create the button
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setBackgroundImage:[NSURL URLWithString:[(Tweet*)[avatarsURL
objectAtIndex:indexPath.row]avatarURL]] forState:UIControlStateNormal];


//the button should be as big as the image in tableView
[button setFrame:CGRectMake(10, 10, 45, 45)];


//set the type of action for the button
[button addTarget:self action:@selector(imageSubViewAction:)
forControlEvents:UIControlEventTouchUpInside];


//more stuff

return cell }

然后我使用我在上面的 @selector 中指定的操作

-(IBAction)imageSubViewAction:(id)sender{


[UIView beginAnimations:@"animateView" context:nil];
[UIView setAnimationDuration:0.5];

CGRect viewFrame = [subView frame];
viewFrame.origin.x += -300;
subView.frame = viewFrame;

subView.alpha = 1.0;

[self.view addSubview:subView];
[UIView commitAnimations];

所以我知道我必须添加一个操作来关闭 subview ,但首先要做的事情。

到目前为止,这似乎对细胞没有任何影响,我不确定下一步要采取什么步骤来使其发挥作用。

手势方法是否完全禁用了didselectindexrow的功能?因为我想两者兼得。

似乎这种方法只需在单元格内添加一个按钮并为该按钮提供一个操作就应该有效,但我有点迷失了在哪里继续我的旅程。

再次感谢我非常感谢您的帮助!

}

最佳答案

我认为最简单的方法是添加 UIButton 作为 subview ,并通过 Interface Builder 或创建 UIImage 添加图像作为 UIButton 的背景 View 。

然后,您可以将事件处理程序连接到 Touch Up Inside socket ,以处理按钮点击。

使用 UIButton,UITableView 单元格选择不应触发。如果由于某种原因您发现当用户触摸按钮时表格单元格被选中,您可以使用 UIImageView 而不是 UIButton,然后向 UIImageView 添加一个手势识别器来处理图像上的触摸并取消表格单元格选择。

要将手势识别器添加到 UIImageView 并取消 UITableView 的触摸:

注意:imageView 是引用 UIImageView 的局部变量。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//...
// by default, UITapGestureRecognizer will recognize just a tap.
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture:)];
gestureRecognizer.cancelsTouchesInView = YES; // cancels table view cell selection
[imageView addGestureRecognizer:gestureRecognizer];
[gestureRecognizer release];
//...
}

- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer {
// get the imageView that was tapped
UIImageView* imageView = gestureRecognizer.view;
// do something else
}

关于iphone - 在 UITableView 中选择 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6259260/

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