2014-02-11 64 views
0

我有一个疑问。请回答我这些问题。 1.为什么我们使用IBOutletCollection而不是IBOutlet? 2.如果我们使用IBOutletCollection使用四个按钮,如何找到哪个按钮被触发? 3.什么是标签属性?和标签属性的使用?IBOutletCollection和标签属性

回答

4

创建这样

@property (retain, nonatomic) IBOutletCollection(UIButton) NSMutableArray *buttonToSelected; 

这里的正确IBOutletCollection按钮,你可以看到所选按钮

-(IBAction)selectedButton:(id)sender 
    { 
     for (UIButton *btn in self.buttonToSelected) 
     { 
     if (sender == btn) 
     { 
      btn.isSelected == !btn.isSelected 
     } 
     } 
    } 

尝试这样

+0

谢谢。 :)标签属性呢?我可以使用标签属性选择按钮吗? –

+0

是使用btn.tag .it会给标签属性。 – Sport

+0

当现在选择BTN就可以得到按钮 – Sport

1

为什么我们使用IBOutletCollection代替IBOutlet?

因为某时您对单个项目不感兴趣。 IBOutletCollections通常用于批量更改属性。例如,您想更改字体的UILabels。或者您想要更改图层的边框宽度的UIButton。

当您关心视图的表示而非其内容时,可以使用它们。

如果我们使用四个按钮使用IBOutletCollection,如何找到哪个按钮被触发?

您通常不应该为此使用IBOutletCollection。创建个人IBOutlets。您可以同时执行这两个操作,在IBOutletCollection中拥有一个UIButton并为其提供单独的IBOutlet是完全正确的。

IBOutletCollections绝不会取代IBOutlets。

什么是标签属性?和标签属性的使用?

Documentation。当您在代码中创建特定视图时,标记最有用。如果你有一个UIViewController或UIView子类,我不会使用它们。
因为if (sender == self.addButton)if (sender.tag == 2)更清晰