Представление не прокручивается до выбранного элемента QuickDialog

Я пытаюсь реализовать базовое представление QuickDialog, и размещение элементов работает нормально. Но когда я выбираю элемент, представление не будет прокручивать его в поле зрения. Я думал, что библиотека сделает это сама, или я что-то упустил?

Вот мой код:

- (id)initWithCoder:(NSCoder *)aDecoder {
    if ((self = [super initWithCoder:aDecoder])) {
        QRootElement *root = [[QRootElement alloc] init];

        root.title = @"";
        root.grouped = YES;        

        self.root = root;
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.    

    QSection *driverSection = [[QSection alloc] initWithTitle:@"xxx"];
    QEntryElement *lblDriverSsn = [[QEntryElement alloc] initWithTitle:@"xxx" Value:@""];
    lblDriverSsn.key = @"driverSsn";    

    QSection *vehicleSection = [[QSection alloc] initWithTitle:@"xxx"];

    NSArray *component1 = @[@"xxx", @"xxx"];
    QPickerElement *EventDescriptionPicker = [[QPickerElement alloc] initWithTitle:@"xxx" items:@[component1] value:@""];
    EventDescriptionPicker.key = @"eventDescription";

    NSMutableArray *speedValues = [[NSMutableArray alloc]init];
    for (int i = 0; i <= 201; i+=5)
    {
        [speedValues addObject:[NSString stringWithFormat:@"%d%@", i,@" km/h"]];
    }
    QPickerElement *vehicleSpeed = [[QPickerElement alloc] initWithTitle:@"xxx" items:@[speedValues] value:@""];

    self.damageReported = [[QBooleanElement alloc] initWithTitle:@"xxx" BoolValue:NO];
    self.damageReported.onImage = [UIImage imageNamed:@"imgOn"];
    self.damageReported.offImage = [UIImage imageNamed:@"imgOff"];
    self.damageReported.controllerAction = @"showReportNumber:";   

    QEntryElement *lblReportNumber = [[QEntryElement alloc] initWithTitle:@"xxx" Value:@""];
    lblDriverSsn.key = @"reportNumber";

    //Sections
    [driverSection addElement:lblDriverSsn];

    [self.root addSection:driverSection];   

    [vehicleSection addElement:EventDescriptionPicker];
    [vehicleSection addElement:vehicleSpeed];
    [vehicleSection addElement:self.damageReported];
    [vehicleSection addElement:lblReportNumber];

    [self.root addSection:vehicleSection];


}

Я что-то упустил здесь? заранее спасибо


person PaperThick    schedule 05.12.2013    source источник
comment
Что вы подразумеваете под прокруткой в ​​поле зрения? Какое поведение вы ожидаете? Если вы выбираете элемент, разве он уже не отображается?   -  person Eduardo Scoz    schedule 05.12.2013
comment
@EduardoScoz Привет, да, это не скрыто, если вы это имеете в виду, но если TextField находится далеко внизу в представлении, оно блокируется клавиатурой, и прокрутка не прокручивает его над клавиатурой.   -  person PaperThick    schedule 06.12.2013


Ответы (1)


В вашем initWithCoder: установите следующее:

self.resizeWhenKeyboardPresented =YES;

Это заставляет контроллер представления прослушивать уведомления клавиатуры и соответствующим образом корректировать вставку.

person Eduardo Scoz    schedule 06.12.2013