这是一个名为Club
的简单VC
俱乐部有一个功能:
@implementation Club
-(IBAction)clickMe
{
NSLog(@"Whoa!");
}
@end
现在关于 ButtonA 。显然在故事板中你可以从ButtonA拖动到函数" clickMe"在" Club"。
现在。关于ButtonB。
有没有办法,在Storyboard中,从ButtonB 拖动到" clickMe"在" Club"?
也许使用神秘的"对象"对象,或...... ??
请注意,显然,您可以为小视图创建一个类,并具有一个函数:
@implementation SmallViewOnRight
-(IBAction)sameAsClickMe
{
[(Club*)self.parentViewController clickMe];
}
@end
然后,您可以从ButtonB拖动到sameAsClickMe。但那是一件非常麻烦的事。
请注意,使用像这样的容器视图来处理不同的"区域是非常正常的。你的主要观点(特别是如果你有东西滑动等等,当你有很多东西和#34;在彼此之上")。移动"部分"非常方便。在主视图外部,使用容器视图。但这是一个完全的滋扰"放弃"点击次数。
在Storyboard中有一种不明确的方法吗?干杯!
只是FTR,仅限iOS7 +,没什么旧的
注意 - 进入"其他方向"经过深入探索,很容易做到。
答案 0 :(得分:0)
不,你不能这样做但你可以使用委托来做这种行为。
在SecondViewController.h中:
@protocol SecondViewControllerDelegate <NSObject>
-(void)clickMe;
@end
@interface SecondViewController.h: UIViewController
@property (weak, nonatomic) id <SecondViewControllerDelegate> delegate;
@end
在SecondViewController.m中:
@implementation SecondViewController
- (IBAction) buttonBClicked:(id)sender {
if ([self.delegate respondsToSelector:@selector(clickMe)] {
[self.delegate performSelector:@selector(clickMe)];
}
}
@end
在ClubViewController.m中:
#import "SecondViewController.h"
@interface ClubViewController () <SecondViewControllerDelegate>
@end
@implementation ClubViewController.m
// make yourself a delegate of SecondViewController somewhere in your code. For example, in prepareForSegue.
-(void)clickMe {
NSLog (@"Clicked");
}
@end
编辑: 试试Unwind Segues吧! 我已经发布了关于如何使用它们的答案here。但是跳过第4步。