0
나는 많은 textfields
및 그 다음에 UISwitches
과 UIButtons
이 있고 더 많은 숫자가 textfields
인 스크롤보기를 가지고 있습니다.스크롤보기 -보기에서 개체를 유지하는 방법
나는 textFieldDidBeginEditing
이벤트를 발견했으며이를 사용하여 textfield
을보기로 스크롤합니다. 그러나 나는 UISwitch
과 UIButton
과 같은 다른 대상과 비슷한 것을 발견하지 못했습니다.
이 작업을 수행 할만한 것이 있습니까?
- (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];
}
모든 UISwitch 개체에 대한 참조를 추가 한 다음 각각에 대해 예제와 같은 선이 있습니까? Aso ScrollViewtoCenter ... 뷰를 보내야합니다. 당신의 모범에서 나는 그것을 어떻게하겠습니까? –
예 위의 각 UISwitch 코드를 작성해야합니다. 그리고 scrollViewToCenterOfScreen 메소드가 호출 될 때 심지어 짝수가 인수로 트리거 된 뷰를 가져올 수 있으므로 어떤 뷰를 수행하기 위해 뷰를 직접 사용할 수 있습니다. – Mohammad
이벤트는 기본적으로 보낸 사람 개체 (사용자의 scrollViewToCenterOfScreen 메서드의 서명과 일치 함)를 전달합니다. 양식의 각 UISwitch 컨트롤에 위의 행을 추가하기 만하면 모든 것이 그대로 작동합니다. –