Ios 将数据从uiview传递到uiviewcontroller

Ios 将数据从uiview传递到uiviewcontroller,ios,uiview,uiviewcontroller,Ios,Uiview,Uiviewcontroller,试了两天,我都快疯了。。。主要问题很简单。。我在uiview中有一个按钮,我想调用uiviewcontroller上的方法。。。这是密码 Uiview呼叫headerView.h @class HeaderView; @protocol headerViewDelegate - (void)tes:(HeaderView *)tes ratingDidChange:(float)rating; @end @interface HeaderView : UIView { UIButton

试了两天,我都快疯了。。。主要问题很简单。。我在uiview中有一个按钮,我想调用uiviewcontroller上的方法。。。这是密码

Uiview呼叫headerView.h

@class HeaderView;
@protocol headerViewDelegate
- (void)tes:(HeaderView *)tes ratingDidChange:(float)rating;
@end
@interface HeaderView : UIView {
    UIButton *test;


}
@property (nonatomic,strong) UIButton *test;
@property (assign) id <headerViewDelegate> delegate;
@end
我想记录评级: NSLog(@“传递数据=================%f”,额定值)

从方法:

-(void)testdata:(id)sender{
        [self.delegate tes:self ratingDidChange:1.1f];

    }
但它什么也没显示。。。为什么?因为我使用initwithframe


别怪我。。。我在这里完全是新手:)

whooaaaaaaaaa。dat超级答案。。。有两天忘记放header.delegate=self;。。。感谢Mannnheader泄漏内存-在上面和原始问题中,需要
release
来平衡每个
alloc
。但是,由于您使用的是header属性,正确的模式应该是
HeaderView*HeaderView=[[HeaderView alloc]initWithFrame:CGRectMake(0,0320,120)]
headerView.delegate=self
self.header=headerView
[self.view addSubview:headerView]
[headerView release]
   #import <UIKit/UIKit.h>
    #import "HeaderView.h"

    @interface ReusableTableHeadersViewController : UITableViewController <headerViewDelegate> {
        HeaderView *header;
    }


    @property(nonatomic,strong) HeaderView *header;

    @end
#import "viewcontroller.h"


@implementation ReusableTableHeadersViewController
@synthesize header;
@synthesize tblData, data;


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];

    header = [[HeaderView alloc] initWithFrame:CGRectMake(0, 0, 320, 120)];
    [self.view addSubview:header];
}

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
}

- (void)dealloc {
    [super dealloc];
}
-(void)tes:(HeaderView *)tes ratingDidChange:(float)rating{
    NSLog(@"passing data==========%f",rating);
}
@end
-(void)testdata:(id)sender{
        [self.delegate tes:self ratingDidChange:1.1f];

    }
You have not set delegate of headerview as view controller.

- (void)viewDidLoad {
    [super viewDidLoad];
    header = [[HeaderView alloc] initWithFrame:CGRectMake(0, 0, 320, 120)];
    header.delegate = self;
    [self.view addSubview:header];
}