따라서 숫자 패드 키보드에는 기본적으로 '완료'또는 '다음'버튼이 제공되지 않으므로 하나를 추가하고 싶습니다. iOS 6 이하에는 키보드에 버튼을 추가하는 몇 가지 트릭이 있었지만 iOS 7에서는 작동하지 않는 것 같습니다.
먼저 알림을 표시하는 키보드를 구독합니다.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
그런 다음 키보드가 나타나면 버튼을 추가하려고합니다.
- (void)keyboardWillShow:(NSNotification *)note
{
// create custom button
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeSystem];
doneButton.frame = CGRectMake(0, 50, 106, 53);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setTitle:@"Done" forState:UIControlStateNormal];
[doneButton addTarget:self action:@selector(dismissKeyboard) forControlEvents:UIControlEventTouchUpInside];
// locate keyboard view
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView* keyboard;
for(int i=0; i<[tempWindow.subviews count]; i++)
{
keyboard = [tempWindow.subviews objectAtIndex:i];
// keyboard view found; add the custom button to it
if([[keyboard description] hasPrefix:@"UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
}
그러나 for 루프는 하위 뷰를 찾지 못하기 때문에 실행되지 않습니다. 어떤 제안? iOS7에 대한 솔루션을 찾을 수 없으므로이 작업을 수행해야하는 다른 방법이 있습니까?
편집 : 툴바 녀석에 대한 모든 제안에 감사하지만 나는 공간이 부족하기 때문에 그 경로를 따르지 않을 것입니다 (그리고 그것은 추악합니다).