Ios 将数据从uiview传递到uiviewcontroller
试了两天,我都快疯了。。。主要问题很简单。。我在uiview中有一个按钮,我想调用uiviewcontroller上的方法。。。这是密码 Uiview呼叫headerView.hIos 将数据从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
@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];
}