didSelectRowAtIndexPath 未调用到 cellForRowAtIndex 的 UIButton

2024-03-09

我知道这里有很多关于这个问题的重复项,但我的要求是我在一个单元格上添加了 2 个 UIButtons,并且这两个按钮将打开两个不同的视图。如果我将属性 userInteractionEnabled 设置为 YES,那么它不会从下面的代码中获取 didSelectRowAtIndexPath 中的“finalID”。

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

    if(tableView == self.tableViewProject){
        static NSString *cellId = @"attachmentCellId";
        attachmentCell *cell = (attachmentCell *)[self.tableViewProject dequeueReusableCellWithIdentifier:cellId];
        if(!cell)
        {
            if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
            {
                NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"attachmentCell" owner:self options:Nil];
                for(id object in nib)
                {
                    if([object isKindOfClass:[attachmentCell class]])
                    {
                        cell = (attachmentCell *)object;
                        break;
                    }

                }
                UIButton *button;
                button = [[UIButton alloc] initWithFrame:CGRectMake(162, 0, 75, 53)];
                [button addTarget:self action:@selector(buttonClicked) forControlEvents:UIControlEventTouchUpInside];
                button.userInteractionEnabled = YES;
//button.userInteractionEnabled = NO;
                [cell.contentView addSubview:button];

                UIButton *buttonAttach = [[UIButton alloc] initWithFrame:CGRectMake(245, 0, 75, 53)];
                [buttonAttach addTarget:self action:@selector(buttonAttachClicked) forControlEvents:UIControlEventTouchUpInside];


                buttonAttach.userInteractionEnabled = YES;
//buttonAttach.userInteractionEnabled = NO;
                [cell.contentView addSubview:buttonAttach];

                cell = [nib objectAtIndex:0];
                SaveAttachment *attach = [array objectAtIndex:indexPath.row];
                cell.name.text = attach.name;
                cell.list.text = [NSString stringWithFormat:@"%d", attach.list];
                cell.attachment.text = [NSString stringWithFormat:@"%d", attach.attachment];
                cell.date.text = attach.date;
            }
    return cell;
    }

我的 DidSelectRowAtIndexPath 是

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
     NSLog(@"Array == %@", anotherTempArray);

        NSString *finalId = [NSString stringWithFormat:@"%@", [anotherTempArray objectAtIndex:indexPath.row]];
        NSLog(@"final id for selected row = %@", finalId);
        NSUserDefaults *defaultForFinalId = [NSUserDefaults standardUserDefaults];
        NSString *setFinalId = finalId;
        [defaultForFinalId setObject:setFinalId forKey:@"SETFINALID"];

    if(tableView == self.tableViewProject)
    {

        [self buttonClicked];
        //[self viewDidLoadForList];

    }
    if(tableView == self.tableViewAttachmentList)
    {


        [self buttonAttachClicked];

    }
}

如果你想调用选择器UIButton在细胞内部,那么你不需要使用什么didSelectRowAtIndexPath方法。

在添加处理程序之前,您所做的都是正确的UIButton。现在,删除您的didSelectRowAtIndexPath按钮的点击处理程序的代码。以下是如何从按钮单击处理程序获取indexPath。

- (void)buttonClicked:(UIButton *)sender {

    UITableViewCell *cell = (UITableViewCell*)sender.superview.superview; //Since you are adding to cell.contentView, navigate two levels to get cell object
    NSIndexPath *indexPath = [tableView indexPathForCell:cell];

    // Now you can do the code you put in didSelectRow here.
}

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

didSelectRowAtIndexPath 未调用到 cellForRowAtIndex 的 UIButton 的相关文章

  • 在对象的 NSArray 中搜索与任何属性匹配的字符串

    我有一个 NSArray 对象 这些对象有 10 个属性 我想对这些对象进行文本搜索 我知道如何一次搜索 1 个房产 但有没有一种简单的方法可以一次搜索所有房产 以下是我的对象具有的属性列表 property nonatomic retai
  • CIGaussianBlur 有时会改变图像方向

    在我的 iOS 应用程序中 我想在 UIImage 上应用一个滤镜 CIGaussianBlur 当它获得具有大高度的图像时 它会旋转图像 CIContext context CIContext contextWithOptions nil
  • Objective-C 中的属性和实例变量

    我对 Objective C 中的属性和实例变量感到相当困惑 我正在阅读 Aaron Hillegass 的 Mac OS X 的 Cocoa 编程 一切都很合乎逻辑 你可以像这样声明一个类 class Something interfac
  • 如何停止覆盖数据

    我正在尝试在我的 iOS 应用程序中保存一些数据 我使用以下代码 NSArray paths NSSearchPathForDirectoriesInDomains NSDocumentDirectory NSUserDomainMask
  • 如何在 Objective-C 中解析包含 XML 的 NSString?

    在我的 iPhone 应用程序中 我有以下 NSString NSString myxml
  • numberOfRowsInSection:重新加载数据时未调用

    我有一个UITableView使用数组来列出数据 这很好用 我也有一个UISearchBar用于搜索那个tableview 当 tableviews 数组中的数据匹配时 这些行将添加到另一个可变数组中 并且cellForRowAtIndex
  • iOS 应用程序中的屏幕共享? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想与运行相同应用程序的其他设备共享
  • Xcode如何将目标打包为.framework(而不是.a库)

    我有一个通用框架项目 其中包含一个库作为其主要目标 在产品下是带有 lib 前缀和 a 扩展名的库 请参阅下面的屏幕截图 我正在使用一个第三方项目 其中包含一个框架作为其目标 并且在 产品 下是具有 framework 扩展名的框架 请参阅
  • iOS Javascript DOM“冻结?”

    这里有几个问题 有没有办法阻止 iOS 在滚动时冻结页面上的 javascript 当您在另一个选项卡中或切换应用程序时 iOS 是否会冻结 JavaScript iOS 上还有其他主要的 javascript 限制吗 iOS 6 x 会暂
  • 如何在没有 Apple 开发者帐户的设备上运行应用程序

    我找到了几个网站 其中提供了有关如何完成此操作的信息 但似乎没有一个网站适用于 Xcode 10 1 或 iOS 12 1 我尝试过的那些似乎都不起作用 我试过这个 创建一个空的 swift 项目 单视图应用程序 将签名团队设置为我的个人团
  • 应用内购买自定义价格

    我已经搜索了一段时间 但它可能太明显了 人们不会发布它 我想知道是否可以为产品设定动态价格 我有送货申请 价格可能会因距离而异 此外 它也可以是非整数价格 例如 2 43 美元 是否可以 另外 我无法在 iTunes Connect 上设定
  • 从 HealthKit 获取昨天的步数

    我正在构建一个供个人使用的应用程序 目前我正致力于如何从 healthkit 中准确获取昨天的步数 然后从那里将其放入变量中 我知道应该很容易 我有一个 HealthKitManager 类 它从视图内部调用该函数 然后将其附加到同一视图中
  • 使用动画过滤 UITableViewCells - iPhone 开发

    这看起来很简单 但到目前为止我还无法找到解决方案 基本上我有一个带有两个选项的分段控件 第一个是默认值 加载时自动显示 选择后会在表视图中显示所有行 第二个是限制显示行的过滤器 这与 iPhone 电话应用程序的 最近 选项卡上使用的设置完
  • 某些网站如何在 iOS Safari 中内嵌播放视频?

    非常令人难以置信 因为我认为所有视频都可以在常规野生动物园中扩展为全屏播放 例如检查一下 https entertainment theonion com the onion reviews rogue one 1819596116 htt
  • 如何实现pickerView类的didSelectRow方法?

    我以前从未使用过选择器视图 我认为它类似于表视图类的 func tableView tableView UITableView didDeselectRowAtIndexPath indexPath NSIndexPath 方法 但是我无法
  • ipa 应用程序无法添加到我们的 itunes 库,它不是有效的应用程序

    我使用 xcode 6 和 swift 语言制作了一个未签名的 IPA 应用程序 我已压缩 app 文件并将其扩展名更改为 ipa 当我想在越狱的iPhone上安装这个 ipa文件时 出现以下错误 无法将应用程序 youtapp ipa 添
  • 以模态方式呈现 UIImagePickerController 时出错

    我有一个奇怪的问题UIImagePickerController在我的 iOS 6 应用程序中以模态方式显示 这XCode给我这个错误 Warning Attempt to present
  • cellForRowAtIndexPath:未调用

    我的应用程序有两种状态 已登录和未登录 并且我有以下架构 大大简化 ViewController A 包含一个搜索框和一个表视图 ViewController B 用于登录应用程序 流程如下 用户未登录 A 被压入堆栈 在viewWillA
  • 用于在某个日期或活动打开 iCal 应用程序的 URL 方案?

    Apple URL 方案参考 https developer apple com library ios featuredarticles iPhoneURLScheme Reference Introduction Introductio
  • 如何使用 XCode 7 在故事板中将视图高度设置为屏幕高度的百分比

    我需要设计如下图所示的视图 我尝试过固定高度 也尝试过紧凑宽度和常规高度以及常规宽度和紧凑高度 但这些场景对我不起作用 如何在故事板中将视图高度设置为屏幕高度的百分比 我正在使用 Xcode 7 Basically you need to

随机推荐

  • 在 C# 中检查 double 是否为整数的好方法是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 如何判断小数 双精度数是否为整数 https stackoverflow com questions 2751593 how to determine if a decimal double is a
  • 当 body 高度: 100% 无绝对 pos 时垂直居中 div

    我有这个来填充窗口 html body height 100 然后容器也设置为 height 100 如何在不指定和设置高度 以像素为单位 的情况下将 div 与图像垂直居中without使用绝对定位 使用padding top 50 底部
  • SKVideoNode 作为 SCNSphere 的纹理

    我正在尝试使用 SKVideoNode 作为 SCNView 中 SCNSphere 的视频纹理源 我正在关注这个答案 SKVideoNode 嵌入在 SKScene 中 作为场景套件节点的纹理不起作用 https stackoverflo
  • 错误:功能未正确部署

    功能部署有错误 要继续部署其他功能 例如数据库 请运行 firebase deploy except functions Error 功能未正确部署 尝试运行部署 debug 例如 firebase debug deploy 就我而言 该函
  • 如何从 Angular 属性指令中访问元素 HTML?

    Angular 文档提供了一个创建更改元素背景颜色的属性指令的示例 https angular io docs ts latest guide attribute directives html https angular io docs
  • doLayout 和包含在“Java Play!”模板中的区别是什么?

    When 延伸 with doLayout你只能有一个子模板 但是你可以include超过一个 有什么区别 最佳实践是什么 它们是彼此相反的 doLayout被用作extends标签 extends 标签指定您想要扩展哪个模板 以及doLa
  • xlswrite 如果是向量

    我有一个 mat 文件 其中包含titles time data 和 2 个列向量 time 1 2 3 4 5 and data 10 20 30 40 50 我创建了一个名为 table time data time data 的新单元
  • 如何在 Ruby 中使用 selenium-webdriver/capybara 截取完整浏览器页面及其元素的屏幕截图?

    我正在研究屏幕截图自动化 特别是 我正在努力实现以下目标 提示用户提供网站不同页面的链接 X 提示用户输入类名 Y 我应该能够访问网站 X 登录页面 提供登录详细信息 假设它们已知 单击 提交 按钮 这应该将我重定向到 主页 页面 然后 我
  • AppHarbor可以在构建过程中设置条件编译符号吗?

    AppHarbor可以在构建过程中设置条件编译符号吗 也许很简单 AppHarbor 我有一些测试无法在服务器上运行 它们依赖于测试数据文件 如果 AppHarbor 可以设置条件编译符号 那么当该符号存在时 我可以在测试中添加 Ignor
  • 带自定义滚动条的 Jquery 选项卡式导航

    请参阅新的 更新的问题 https stackoverflow com questions 7423874 jquery navigation and jscrollpane work at first but not after clic
  • 使时间序列在轴上显示最后一个日期?

    所以在 Chart js 中我有一个基于日期范围的时间序列 该图表无法将所有日期显示为轴标签 因此它显示了合理的选择 它始终在左侧显示第一个日期 但并不总是在轴的右端显示最后一个日期 例如 我的日期范围可以是从 1 月 1 日到 7 月 3
  • Java 支持柯里化吗?

    我想知道是否有任何方法可以在 Java 中实现这一点 我认为如果没有对闭包的原生支持 这是不可能的 Java 8 2014 年 3 月 18 日发布 确实支持柯里化 示例 Java 代码发布于Missingfaktor 的回答 https
  • 如何收集任何 java 进程的堆转储

    我是 Heaps 新手 谁能建议我如何获取任何 java 进程 如 Jmeter 的堆转储 我读到了有关 jmap 命令的内容 但我不知道在哪里以及如何执行 编写它 在 Eclipse 或 cmd 中 这可能是一个非常基本的问题 但仍然需要
  • cv::findContours 返回的轮廓是否具有一致的方向?

    我正在使用 OpenCVcv findContours http docs opencv org 2 4 modules imgproc doc structural analysis and shape descriptors html
  • 登录时 BjyAuthorize 未检测到角色

    我正在使用 ZF2 Doctrine ORM 和 BjyAuthorize 问题是 当我登录时 身份的 getRoles 方法返回空 class User implements UserInterface ProviderInterface
  • Oracle - select 语句中的动态列名

    问题 是否可以根据结果集中的值更改 select 语句中的列名称 例如 如果一个year结果集中的值小于1950 为列命名OldYear 否则命名该列NewYear The year结果集中的值保证所有记录都相同 我认为这是不可能的 但这是
  • 如何防止用户使用 dotnet core 和 RESTful API 访问其他用户的数据?

    我正在尝试找到一个没有被广泛讨论的简单问题的最佳解决方案 我的应用程序有很多可以创建和编辑数据的用户 用户应该只查看和编辑他的数据 而不是其他人的数据 想想爱丽丝 她有一家餐厅 A 有一个菜单 MenuA 而鲍勃有一家餐厅 B 有一个菜单
  • 软件可扩展性测试是否有明确的模式?

    我最近对识别软件可扩展性测试的模式非常感兴趣 由于不同软件解决方案的本质不同 可伸缩性测试软件问题的良好解决方案似乎与设计和实现软件的问题一样多 对我来说 这意味着我们可能可以为此类广泛使用的测试提炼出一些模式 为了消除歧义 我会提前说明我
  • 在Mysql表中保存座位安排

    你好 有人可以建议我一种保存座位安排的方法 它是 mysql 表中的 nXm 矩阵 以下是我们如何生成 nXm 表 管理员指定总线的行数和列数 管理员选择矩阵的特定元素是否是 Seat Passage Sleeper 注 一个卧铺占用2个元
  • didSelectRowAtIndexPath 未调用到 cellForRowAtIndex 的 UIButton

    我知道这里有很多关于这个问题的重复项 但我的要求是我在一个单元格上添加了 2 个 UIButtons 并且这两个按钮将打开两个不同的视图 如果我将属性 userInteractionEnabled 设置为 YES 那么它不会从下面的代码中获