注:此代碼是不是原始代碼的翻版,但足以說明(具有良好的精度)是什麼問題,我的代碼的意圖是什麼。調用從另一個類的功能與標誌(%鉤)
我添加了一個按鈕,DaClass1
的看法(這工作得很好):
%hook DaClass1
-(id)DaView {
UIButton *xButton = [UIButton buttonWithType:UIButtonTypeCustom];
[xButton addTarget:self action:@selector(dismissWithAnimation:YES:nil)
forControlEvents:UIControlEventTouchUpInside];
[xButton setBackgroundImage:[UIImage imageWithContentsOfFile:@"/Hello.png"] forState:UIControlStateNormal];
xButton.frame = CGRectMake(0, 0, 30, 30);
[self addSubview:xButton];
return %orig;
}
%end
但UIButton
的action:
(dismissWithAnimation:YES:nil
)實際上是從另一個類:
%hook DaClass2
-(void)dismissWithAnimation:(int) reason:(int) {
//someCodeHere...
}
%end
我怎麼可以叫dismissWithAnimation
在DaClass2
從我UIButton
的action:
當UIButton的是DaClass1
?
它是DaClass2的一個實例,除非它是一個類的方法。 – HackyStack 2013-03-08 21:45:06
還是堅持DaClass2的一個實例的引用,聲明局部按鈕按下處理方法,在這種方法中,調用DaClass2對象的dismissWithAnimation方法。 – HackyStack 2013-03-08 21:48:22