Представление прокрутки - Как сохранить объекты в представлении - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть представление прокрутки, которое имеет множество textfields, а затем несколько UISwitches и UIButtons, за которыми следуют еще textfields.

Я нашел событие textFieldDidBeginEditing и использую его для прокрутки textfield в представление. Но я не нашел ничего похожего для других объектов, таких как UISwitch и UIButton.

Есть ли что-то, что делает это? Ниже приведен код, который я использую для textfields:

- (void)textFieldDidBeginEditing:(UITextField *)textField {  
    [self scrollViewToCenterOfScreen:textField];  
} 



- (void)scrollViewToCenterOfScreen:(UIView *)theView {  
    CGFloat viewCenterY = theView.center.y;  
    CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];  

    CGFloat availableHeight = applicationFrame.size.height - _keyboardHeight;    // Remove area covered by keyboard  

    CGFloat y = viewCenterY - availableHeight / 2.0;  
    if (y < 0) {  
        y = 0;  
    }  
    ScrollView.contentSize = CGSizeMake(applicationFrame.size.width, applicationFrame.size.height + _keyboardHeight);  
    [ScrollView setContentOffset:CGPointMake(0, y) animated:YES];  



}  

1 Ответ

0 голосов
/ 02 сентября 2011

Вы можете использовать событие UIControlEventValueChanged .

[switchControl addTarget:self action:@selector(scrollViewToCenterOfScreen:) forControlEvents:UIControlEventValueChanged];
...