【问题标题】:iOS UIView adding and removing subviews throughout the codeiOS UIView 在整个代码中添加和删除子视图
【发布时间】:2014-10-04 14:44:58
【问题描述】:

我的应用中有一条显示人工地平线的蓝线。 我希望能够在代码(.m)的不同部分显示和删除它。 我可以普遍声明它(lineViewHorizo​​n)吗?

目前我只能在相同的代码部分/方法中使其出现/消失。

我想这可以做到吗?

UIView *lineViewHorizon = [[UIView alloc] initWithFrame:CGRectMake(0, pageTopMargin+inthorizon, self.view.bounds.size.width, 2)];
lineViewHorizon.backgroundColor = [UIColor blueColor];
[self.view addSubview:lineViewHorizon];
[lineViewHorizon removeFromSuperview];

【问题讨论】:

    标签: ios uiview addsubview


    【解决方案1】:

    我希望能够在代码的不同部分显示和删除它

    为了从另一个视图中删除一个视图,您需要一个指向要删除的视图的指针。您可以通过在视图层次结构中查找视图来获得它,可能使用-viewWithTag:,或者您可以将指向视图的指针保存在实例变量(或属性)中。无论哪种方式,关键是您需要一个指向视图的指针,以便您可以向它发送-removeFromSuperview 消息。

    【讨论】:

    • 我正在尝试第二种方法,但我正在努力解决语法问题。我在 .h 中放置了一个 -(void) 属性,但不确定如何在 .m 中声明指针。
    • 我可以将其声明为 UIView *lineViewHorizo​​n;在@实现之后?这行得通,但这是一种好的做法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-28
    • 2011-01-07
    • 2016-10-01
    • 2011-11-14
    • 1970-01-01
    相关资源
    最近更新 更多