【问题标题】:UIScroll and its nested elementsUIScroll 及其嵌套元素
【发布时间】:2011-08-30 17:42:38
【问题描述】:

我创建了一个 UIScrollView。 我设置了尺寸,然后尝试添加 UILabel。

但是标签都是白色文本(很烦人,因为我必须更改每个标签的属性)。

有没有办法让所有标签(从 IB 拖到视图的新标签)的默认文本颜色为黑色?

已编辑以匹配 cmets

我想尽可能多地使用 IB。因此,我想将 UILabel 从库调色板拖到 UIView。当我这样做时, UILabel 设置为白色(默认)。我希望默认颜色为黑色。我知道我可以通过编程方式做到这一点,但我会尽量避免这种情况,除非我真的需要这样做。

【问题讨论】:

    标签: ios uiscrollview uikit uilabel


    【解决方案1】:

    没有简单的方法可以完全按照您的意愿行事。但是您可以做的是创建一个具有所需属性的标签,将其存储在绘图板上的某个位置而不是视图中,然后在每次需要新标签时复制它,而不是拖动新标签。您可以使用选项+拖动轻松复制。

    【讨论】:

      【解决方案2】:

      我认为简短的回答是“不,没有简单的方法来做你所描述的事情。”

      我能想到的最简单的方法是创建所有 UILabel(默认设置为白色文本),然后按住 control 并单击它们并一次性设置它们的文本颜色——所有其他方法都不太方便,或者本质上需要 Apple 开源 Xcode 或 UIKit,以便我们了解它们的内部结构。

      【讨论】:

        【解决方案3】:

        是的,有办法。您可以循环目标视图的子视图,例如:

        UIView * targetView;
        
        [...]
        
        for(id subView in targetView.subViews){
            if([subView isKindOfClass:[UILabel class]]){
                [subView setBackgroundColor:clearColor];
            }
        }
        

        【讨论】:

        • 是否要更改首选项,以便拖动的所有元素都有黑色文本?
        • 你的意思是文字颜色?当然只是设置 setTextColor 而不是 setBackgroundColor。也许我误解了你所说的拖拽是什么意思?您是指 UILabel 仅指您从 Interface Builder 中“拖动”的内容吗?
        • 我想尽可能多地使用 IB。因此,我想将 UILabel 从库调色板拖到 UIView。当我这样做时, UILabel 设置为白色(默认)。我希望默认颜色为黑色。我知道我可以以编程方式执行此操作,但除非我真的需要,否则我会尽量避免这种情况。
        【解决方案4】:

        为什么标签必须来自对象库?您可以通过仅将一个 UILable 从库中拖动到您的视图来获得所需的功能,将所有属性设置为您想要的默认值并点击一次 copy(command+c)。现在,您可以根据需要多次粘贴(command+v)带有特殊属性值的 UILabel,IBActions 和 outlets 也将保留在副本中。

        如果您打算调整比字体颜色和大小更多的相关属性,那么我会建议一种更自定义的方法,在您在 IB 中进行批量拖放工作之前只需要最少的编码。
        在 Xcode 中子类化一个 UILable,在一个简单的返回方法中只设置一次所有属性,然后从“init”和“awakeFromNib”调用此方法现在回到 IB 并执行所有拖放操作,确保标签是你的子类。

        但是,我认为如果你经常这样做,特别是如果你将来会再次做类似的事情,你会节省大量的时间和精力来在代码中实现这个“标签工厂” .它的代码可能比您想象的要少,而且更重要的是您可以在下一个应用程序中重用它。反正这是我的 2 美分,祝你好运

        【讨论】:

          猜你喜欢
          • 2014-09-25
          • 1970-01-01
          • 1970-01-01
          • 2020-11-29
          • 2017-05-24
          • 1970-01-01
          • 2014-07-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多