这真是太简单了!我错过了一些东西,我试图解决它已经筋疲力尽了.希望有人可以提供帮助.
CharacterView.m中的Button可以工作,但是在CharacterMale.m中嵌套的按钮却没有.我没有使用IB一切都是按步骤完成的.什么会导致一个按钮工作,而另一个按钮不工作?
/////////////////////////////////////////////////////////////////////////////////
CharacterController.m
/////////////////////////////////////////////////////////////////////////////////
#import "CharacterController.h"
#import "CharacterView.h"
@implementation CharacterController
- (id)init {
NSLog(@"CharacterController init");
self = [ super init ];
if (self != nil) {
}
return self;
}
- (void)loadView {
[ super loadView ];
characterView = [ [ CharacterView alloc ] init];
self.view = characterView;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)dealloc {
[super dealloc];
}
@end
/////////////////////////////////////////////////////////////////////////////////
CharacterView.m
/////////////////////////////////////////////////////////////////////////////////
#import "CharacterView.h"
#import "CharacterMale.h"
@implementation CharacterView
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) …Run Code Online (Sandbox Code Playgroud) 我在基于Nib的视图中有一个按钮,它的行为不像按钮(从不调用目标方法).我试图动态添加按钮,但它没有帮助.
我将尝试描述应用程序结构(因为我怀疑它可能导致此问题),我可能没有使用正确的设计模式.
视图A与Controller AC相关联.(从根控制器中的nib加载并推送到导航控制器.)
视图A嵌入了多个子视图.让我们称之为A'.
在AC :: viewDidLoad方法中:
我将3个viewControllers a,b,c加载到AC的成员变量中.
根据应用程序设置,我将其中一个控制器的视图添加为A'的子视图
基本上在AC :: viewDidLoad方法中:
[A' addSubView:(a.view)];
Run Code Online (Sandbox Code Playgroud)
现在a.view有一个按钮(标记).我搜索该标签.并动态添加目标方法.此时,a.view显示为A'的子视图,按钮也可见.大.
但触摸交互不会发生或触摸操作被我的方法以外的人消耗.
我尝试了很多变化,但执行从未达到我的方法.我甚至尝试将目标添加到所有touchUpEvents.没有.我检查了启用事件中的控件值,这是正确的.该按钮以某种方式被禁用.我用一个视图写了一个简单的应用程序并做了同样的工作.所以我认为这与我将多个部分放在一起的方式有关.
有任何想法吗?
我希望我有类似Spy ++的东西,我可以看到消息队列,看看谁在使用这些消息而不是我的应用程序,甚至看看类对象.我是这个平台的新手. 我之前与之斗争的是这个问题.