ดังนั้นแป้นพิมพ์ numpad จึงไม่มีปุ่ม "เสร็จสิ้น" หรือ "ถัดไป" ตามค่าเริ่มต้นดังนั้นฉันจึงต้องการเพิ่ม ใน 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 loop ไม่ทำงานเนื่องจากไม่พบ subview ใด ๆ ข้อเสนอแนะใด ๆ ? ฉันไม่พบวิธีแก้ปัญหาใด ๆ สำหรับ iOS7 ดังนั้นมีวิธีอื่นที่ฉันควรทำหรือไม่?
แก้ไข: ขอบคุณสำหรับคำแนะนำทั้งหมดสำหรับแถบเครื่องมือ แต่ฉันไม่อยากลงไปในเส้นทางนั้นเพราะฉันค่อนข้างมีพื้นที่ไม่ดี (และมันก็น่าเกลียด)