【发布时间】:2014-03-29 07:04:18
【问题描述】:
My Question is similar to this Previously ask question please provide me some solution for this ??
在我的 SettingView.h 中
@protocol settingViewProtocol <NSObject>
-(void)getSelectedLanguageID:(NSInteger)langID;
@end
@interface SettingView : UIView<UITableViewDataSource,UITableViewDelegate,UIPickerViewDelegate,UIPickerViewDataSource>
{
NSMutableArray *settingElementArray;
NSMutableArray *settingImageArray;
UIPickerView *LanguagePickerView;
NSArray *pickerArray;
UIToolbar *toolBar;
}
@property (assign)id<settingViewProtocol> delegate;
// in my SettingView.m
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
[self.delegate getSelectedLanguageID:row];
}
//在我的 GridView.h 中
#import "SettingView.h"
@interface GrideView : UIView <AVAudioPlayerDelegate,settingViewProtocol>{
MoreOptionView *moreOption;
AVAudioPlayer *audioPlayer;
BOOL isPlaying;
SettingView *settingView;
}
-(void)awakeFromNib
{
[super awakeFromNib];
settingView = [[SettingView alloc]init];
settingView.delegate = self;
}
但是委托返回 nil 值??
编辑代码以获取更多信息
//在我的视图控制器中
self.settingView = (SettingView *)[[[NSBundle mainBundle]loadNibNamed:NSStringFromClass([SettingView class]) owner:self options:nil]objectAtIndex:0];
[self.settingView setFrame:CGRectMake(320*0, 0,bottomScrollView.frame.size.width, bottomScrollView.frame.size.height)];
self.settingView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"settingbackground.png"]];
[self.bottomScrollView addSubview:self.settingView];
提前致谢
【问题讨论】:
-
您的代码是正确的.. 但我怀疑
awakeFromNib是否被调用? -
@Volker 不一样的 View 是 GrideView
-
@iphonic 是的,awakeFromNib 总是打电话..
-
@Vishu 是否也显示了您在 wakeFromNib 中创建的设置视图?还是您错误地显示了设置视图的另一个实例?
-
@Volker 我只是在 GrideView awakeFromNib 方法中调用 settingView 的委托。。 SettingView 已经由 myviewController 类创建。
标签: ios objective-c uiview