将 UIButtons 发送到桌面?

Posted

技术标签:

【中文标题】将 UIButtons 发送到桌面?【英文标题】:Send UIButtons touch down to the table? 【发布时间】:2012-03-21 10:22:37 【问题描述】:

我在 .xib 的自定义单元格中的三列结构中有三个按钮

看图:

我还有两个类,一个包含列表,第二个包含单元格我设法注销了属于该单元格的类中按钮的触摸,但我也想知道他们是否触摸我想让 didSelectRowAtIndexPath 触发的 firstColumnButton。

我的最终目标是触发 didSelectRowAtIndexPath,找出哪个单元格已被按下,该单元格中的哪个按钮,以便用户可以转到他们按下的正确内容。

在 ListController.m 中:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

    NSLog(@"Pressed on the table");
    if(cell.pressedButtonInColumnOne == YES)
            NSLog(@"Pressed button one in column one");
    

现在第一个 NSLog 根本没有触发。

CategoryCell.m 中只有这个

 - (IBAction)pressedFirstColumnButton:(id)sender 
     NSLog(@"pressed first button in category cell");
 

如果我在 IB 中将按钮向上移动,则表格会做出反应,但按钮不会被按下。

【问题讨论】:

【参考方案1】:

你不应该继承 UITableViewCell 并在这个子类中定义你需要执行的任何方法吗?

【讨论】:

我对此很陌生,但是我有一个 UITableViewCell 的子类,即 CategoryCell,但是如何定义子类中执行的方法?【参考方案2】:

答案没有解决,但我做了一个解决方法,为按钮制作了一个选择器,然后把代码放在那里,

cell.secondColumnButton.tag = guideColumnTwo.GuideID.intValue;
[cell.secondColumnButton setTitle:guideColumnTwo.Name forState:UIControlStateNormal];
[cell.secondColumnButton addTarget:self action:@selector(whichButtonDidMasterPressed:)    
                 forControlEvents:UIControlEventTouchUpInside];

我将 buttonLabel 设置为城市并用 id 标记按钮。

如果有人真的解决了这个问题,那就太好了。

制作的

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

方法没用。

【讨论】:

以上是关于将 UIButtons 发送到桌面?的主要内容,如果未能解决你的问题,请参考以下文章

如何将一组 UIButtons 添加到 UIStackview 上?

如何使用 C#/pinvoke 将输入发送到 WinSta0\Winlogon 桌面

Ubuntu如何将应用快捷方式发送到桌面

Ubuntu如何将应用快捷方式发送到桌面

keybd_event() 调用未发送到远程桌面

如何将数据从 Java 桌面/Swing 应用程序发送/传输到 Java Web 应用程序 [重复]