私はここで多くの綿密な答えをチェックしてきました、誰も私の愚かな問題を解決することはできません。
私の問題は次のとおりです。UIViewControllerclassAとUIViewclassBの2つのクラスがあります。
ボタン(classA)がトリガーして処理(classB)し、画面にサブビューを表示します(classA)。しかし、それは機能しません。
classA .m:
@implementation ViewController
...
- (IBAction)trigger:(UIButton *)sender {
[classB makeViewOn];
}
classB .h:
#import <UIKit/UIKit.h>
@interface classB : UIView
+ (void)makeViewOn;
@end
classB .m:
#import "classB.h"
#import "ViewController.h"
@implementation classB
+ (void)makeViewOn
{
ViewController *pointer = [ViewController new];
UIWindow *window = pointer.view.window;
classB *overlayView = [[classB alloc] initWithFrame:window.bounds];
overlayView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
overlayView.userInteractionEnabled = YES;
[pointer.view addSubview:overlayView];
}
@end
UIViewControllerという1つのクラスだけでこれを行うと、正常に機能します。ただし、これを2つの別々のクラス(UIViewControllerとUIView)で行う場合、どうすれば修正できますか?
クラス間のコミュニケーションの基本的な概念について何か間違ったことをしていますか?
どうもありがとう!