Tamam burada hem iOS 9'da benim uygulamasında gösterilmesi için düğmeye ve iş 'done' koyulmak için basit bir düzeltme var, iOS 8 ve benzer hata var aşağıda. Bir uygulamanın çalıştırılmasından ve uygulamanın 'Görünüm Hiyerarşisi'nden (ör. Uygulamacihaz cihazında çalışırken ve Görünümlerinizin Storyboard'da incelenmesinden' Görünüm Hiyerarşisi 'simgesine tıklanarak) görülebilmesi, klavyenin iOS 8’deki farklı pencerelerde iOS 8’e ve aşağıdaki sürümlere kıyasla sunulacak ve bunların muhasebeleştirilmesi gerekiyor. addButtonToKeyboard
- (id)addButtonToKeyboard
{
if (!doneButton)
{
// create custom button
UIButton * doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(-2, 163, 106, 53);
doneButton.adjustsImageWhenHighlighted = NO;
[doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
[doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
[doneButton addTarget:self action:@selector(saveNewLead:) forControlEvents:UIControlEventTouchUpInside];
}
NSArray *windows = [[UIApplication sharedApplication] windows];
//Check to see if running below iOS 9,then return the second window which bears the keyboard
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 9.0) {
return windows[windows.count - 2];
}
else {
UIWindow* keyboardWithDoneButtonWindow = [ windows lastObject];
return keyboardWithDoneButtonWindow;
}
}
Ve bu klavyeden yapabildin removeKeyboardButton İstersen nasıl.Eğer UITextfieldsDelegeates yöntemlerle Eğer
- (void)removeKeyboardButton {
id windowTemp = [self addButtonToKeyboard];
if (windowTemp) {
for (UIView *doneButton in [windowTemp subviews]) {
if ([doneButton isKindOfClass:[UIButton class]]) {
[doneButton setHidden:TRUE];
}
}
}
}
, sadece textFieldDidBeginEditing temsilci yönteminde
addButtonToKeyboard yöntemini çağırabilirsiniz ve bu yapmalı. Şimdi, NumberPad ve Varsayılan klavye arasında ileri geri geçiş yaparsanız, herhangi bir aksaklığı önlemek için "textFieldShouldEndEditing" delegesi yönteminde
removeKeyboardButton numaralı çağrıyı çağırmanız önerilir.
Benim için çalışır – poojathorat
Gr8 işe yaradı, ama numpadden normal klavyeye metin alanını değiştirdiğimde, klavyenin önünde yapılmış düğme beliriyor ... ne yapmalıyım? – iAnurag
"textFieldShouldEndEditing" temsilci yönteminde removeButtonFromKeyboard öğesini çağırmanız gerekir. Bu kadar. – alishaik786