저는 leftMenuView라는 uiview가 있고 그보기에는 단추가 있고 해당 단추에 작업을 추가하여 작업 메서드에서보기 컨트롤러를 호출해야합니다. 내가 무엇을했는지까지 살펴보십시오 :uiview에서 다른보기 컨트롤러로 단추 동작을 전달하는 방법
을이
#import <UIKit/UIKit.h>
@class LeftMenuView;
@protocol LeftMenuViewProtocol <NSObject>
-(void)homeClicked;
@end
@interface LeftMenuView : UIView
@property (nonatomic,assign) id<LeftMenuViewProtocol> customDelegate;
-(IBAction)homeClickedAction:(id)sender;
@end
및 leftMenuView.m에
#import "LeftMenuView.h"
@implementation LeftMenuView
-(IBAction)homeClickedAction:(id)sender
{
[self.customDelegate homeClicked];
NSLog(@"Clicked Home");
}
@end
지금 내가 대리자를 통해 메소드를 호출하려고 파일을 내 leftMenuView.h
입니다
이제 homeViewController.h
에서@interface homeViewController : UIViewController<LeftMenuViewProtocol>
및3210 지금 내 homeViewController.m에서 그 메소드를 호출하려고하지만
-(void)homeClicked
{
NSLog(@"Clicked Home");
}
호출되지 않습니다하지만 메소드가 호출되는 것을 leftViewMenu.m 같이 경우 위의 방법은 호출되지 않습니다. 아무도이 문제와 관련하여 도움이되기를 바랍니다.
당신이'leftView.customDelegate = 자기처럼'customDelegate' (뭔가를 설정 했 : 예를 들어,
homeViewController
의 viewDidLoad에, 당신은 뭔가를 할 수 있습니다)? –뷰 클래스로 연결하는 방법과 IBAction 단추를 이미지로 표현할 수 없습니다. –
예, Bonafons가 위에서 말한 것처럼, leftviewMenu 클래스에 대한 위임자로 homeviewcontroller를 설정했는지 언급하지 않았습니다. 방금 방금 언급 한 homeViewController는 LeftMenuViewProtocol을 확인합니다 – SeriousSam