2012-09-04 100 views
0

按代码我是相当新的界面生成器(我使用RubyMotion,顺便说一句),并想看看别人是怎么安排自己的看法标签。我有很多视图组件,它们应该组合在一起,就像UIView上的UILabel一样。与Interface Builder中

我最初的想法是有一个单独的函数,它查看标签的所有映射的照顾,查看对象。事情是这样的:

def mapTags 
    @awesomeButton = AwesomeButton.new(
    :view => view.viewWithTag 1, 
    :label => view.viewWithTag 2 
) 
end 

def viewDidLoad 
    self.mapTags 
end 

这仍然不是很满意,这就是为什么我希望有人老练多了/高明能够提供卓越的解决方案。

回答

2

好,如果你需要标记所有你的意见,你有很多的EM的,我建议你这样做时,你初始化一个视图,而不是它的功能分离的,这是最安全的方法。在Objective-C,我通常会创建特定的宏的每一个标签,然后每当我初始化的观点,我给你的那个标签,前宏:

#define kMyFirstViewTag 2 
#define kMyLabelTag  3 

... 

[myFirstView setTag:kMyFirstViewTag]; 

这种方式可以按名称某些视图(kMyGroup1LabelTag)您可以通过标签名称轻松访问它们。

我不知道很多关于红宝石,但Im相当肯定应该有一种方法来达到同样的效果。

希望这个答案是有帮助的。

+0

我很感谢答案。这基本上就是我用Ruby做的事情。我想我希望Interface Builder不会将标签名称限制为整数 - 然后我可以在IB中命名我的元素。那么对于分组而言,在IB中没有办法表达两个元素属于一个整体?这部分必须完全在代码中完成? – user94154

+0

很好,在IB中没有“分组”的东西。我不知道你想要做什么,但是如果你有'UIView'作为'subviews'嵌入到父'UIView'中,它们就被分组了。当然,我不会那么做,只是为了“分组”他们。如果只是为了推荐和组织事情,那么id就说你只有名字标记。 – KDaker