子视图中的UIButton调用属性

时间:2012-10-20 08:11:20

标签: ios5

有一点可以解释为什么我要实现这个设计。

但我想问的问题是:如果我有一个视图,它的控制器是ControllerA,现在我想在我的视图中添加一个子视图,假设View1。子视图View1包含一个按钮,我将IBAction点设置为ControllerA。

但我发现这个View1按钮无法更改原始视图对象中的某些属性,如UIImageview.hidden

子视图中的按钮不能改变superview中的内容吗?或者我需要设置其他东西来完成这项任务。

2 个答案:

答案 0 :(得分:0)

很难准确理解你所说的内容,但听起来你正试图访问UIView之外的UIView实例的子视图。如果它不是一个UIView子类,你有一个对该子视图的ivar / property引用,你可以尝试给它一个标记并以这种方式访问​​它。

示例:

UIView *topLevelView = [[UIView alloc] init];
UIView *viewA = [[UIView alloc] init];
UIView *otherView = [[UIView alloc] init];
otherView.tag = 5;
[topLevelView addSubview:viewA];
[topLevelView addSubview:otherView];


UIView *viewASubview = [[UIView alloc] init];
[viewA addSubview:viewASubview];


UIView *referenceToOtherView = [viewASubview.superview.superview viewWithTag:5];
UIView *anotherReferenceToOtherView = [topLevelView viewWithTag:5];

答案 1 :(得分:0)

我猜您尝试在button内添加UIViewsubview也是View(UIViewController的{​​{1}}。

正如您所说,每当您尝试访问Button属性时,您都无法执行此操作。

这种情况正在发生,因为如果我们想要访问UIControl,或者我们在我们的源代码中参考了那些,那么我们通过XIb创建任何东西。所以你将从Xcode引用UIButton。 正如我在下面的图片中所做的那样。

Try in this Way

我希望我得到你的观点。它会对你有所帮助