【问题标题】:IBOutletCollection NSMutable Array order in IBIB 中的 IBOutletCollection NSMutableArray 顺序
【发布时间】:2012-02-06 16:28:57
【问题描述】:

我已将一组按钮链接到 IBOutletCollection NSMutableArray; 我希望能够让每个按钮播放特定的声音; 然而,在链接它们之后,我意识到它们没有以任何特定的顺序添加。 我认为界面构建器没有考虑添加按钮的顺序。 有什么方法可以通过代码访问界面按钮 ID 并将其转换为整数,以便我可以通过编程将正确的声音分配给正确的按钮?

认为没有必要,但这是我的代码:

for(int i=0;i<48;i++){
UIButton *Pad=[UIButton alloc];
[Pads addobject:Pad];
[Pad release];
[[Pads objectAtindex:i] addTarget:self action:@selector(play:) forControlEvents:UIControlEventTouchUpInside];
((UIButton*)[Pads objectAtIndex:i]).tag=i;
} 

更具体一点。在属性检查器的界面构建器中,每个按钮都有一个标签和一个 ID。是否可以使用该 id(或标签)以编程方式重新排序我的数组?

通过按 TITLE [按钮 currentTitle] 排序来修复

【问题讨论】:

    标签: objective-c xcode uibutton nsmutablearray


    【解决方案1】:

    将每个 IBOutlet 的 tag 属性添加到 Pads 时,只需将其设置为 i

    【讨论】:

      【解决方案2】:

      IBOutletCollection 不支持排序。这是一个类似的问题,其答案是按位置对集合内容进行排序: IBOutletCollection set ordering in Interface Builder

      【讨论】:

        猜你喜欢
        • 2012-12-14
        • 2011-09-25
        • 1970-01-01
        • 2011-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多