-1

稍微解释一下我为什么要实现这个设计。

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

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

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

4

2 回答 2

0

我猜你试图在button里面添加一个UIView也是一个subviewView(UIViewController

正如您在尝试访问 Button 属性时所说的那样,您不能这样做。

发生这种情况是因为当我们通过 XIb 创建任何东西时,如果我们想要访问该 UIControl 或其他任何东西,那么我们已经在我们的源代码中引用了它。所以您将通过 Xcode 的引用连接 UIButton。正如我在下图中所做的那样。

以这种方式尝试

我希望我明白你的意思。对你有帮助

于 2012-10-20T10:49:35.433 回答
0

很难准确理解您在说什么,但听起来您正在尝试访问该 UIView 之外的 UIView 实例的子视图。如果它不是一个 UIView 子类,其中您有对该子视图的 ivar/属性引用,您可以尝试给它一个标签并以这种方式访问​​它。

例子:

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];
于 2012-10-20T08:47:53.493 回答