Спасибо за поиск, я пытаюсь реализовать в суперпредставлении (контроллере представления) собственное представление, которое я создал.
fromAge = [[simpleFormCell alloc]initWithFrame:CGRectMake(0, spaceFromTopLabel + 190, 200, 30)];
fromAge.title = @"Age";
fromAge.placeholder = @"";
fromAge.widthOfTextField = 60;
[fromAge populateView];
fromAge.textField.delegate = self;
fromAge.textField.tag = fromAgeTextFieldTag;
[fromAge.textField setInputView:multipurposePicker];
[scrollViewBackground addSubview:fromAge];
toAge = [[simpleFormCell alloc]initWithFrame:CGRectMake(0, spaceFromTopLabel + 190, 200, 30)];
toAge.title = @"to";
toAge.placeholder = @"";
toAge.widthOfTextField = 60;
toAge.leftPaddingForLabel = 210;
toAge.leftPaddingForTextField = 240;
[toAge populateView];
toAge.textField.delegate = self;
toAge.textField.tag = toAgeTextFieldTag;
[toAge.textField setInputView:multipurposePicker];
[scrollViewBackground addSubview:toAge];
simpleFormCell - это пользовательское представление со следующей реализацией:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
title = @"test";
placeholder = @"test2";
numberofLine = 1;
leftPaddingForLabel = 20;
leftPaddingForTextField = 140;
widthOfLabel = 90;
widthOfTextField = 160;
height = 30;
//[self populateView];
}
return self;
}
- (void)populateView{
label = [[UILabel alloc]initWithFrame:CGRectMake(leftPaddingForLabel, 0, widthOfLabel, (height * numberofLine))];
label.text = title;
label.textAlignment = UITextAlignmentLeft;
label.backgroundColor = [UIColor clearColor];
[self addSubview:label];
textField = [[UITextField alloc]initWithFrame:CGRectMake(leftPaddingForTextField, 0, widthOfTextField, (height * numberofLine))];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.placeholder = placeholder;
textField.textAlignment = UITextAlignmentCenter;
textField.tag = tag;
[textField setReturnKeyType:UIReturnKeyNext];
[self addSubview:textField];
}
У меня есть аналогичный метод, который называется [self populateView] в init.Кажется, это работает нормально.Пожалуйста, примите во внимание, что multipurposePicker работает правильно.Это код, но он не применяется к этим двум экземплярам.
- (id)initWithPreset1:(CGRect)frame title:(NSString *)titleValue numberOfLine:(int)numberOfLineValue delegate:(id) delegateValue tag:(int)tagValue{
self = [super initWithFrame:frame];
if (self) {
title = titleValue;
placeholder = @"";
numberofLine = numberOfLineValue;
leftPaddingForLabel = 20;
leftPaddingForTextField = 140;
widthOfLabel = 110;
widthOfTextField = 160;
height = 30;
tag = tagValue;
[self populateView];
textField.delegate = delegateValue;
}
return self;
}
Эти белые коробки не будут отвечать на мои прикосновения.(textFieldDidBeginEditing не сработает).
[fromAge intoFirstResponder] работает.Это просто не будет отвечать на мои прикосновения.Я удостоверился, что нет ничего сверху.Пожалуйста помоги.Спасибо!