ฉันดาวน์โหลด iOS 8 Gold Master สำหรับ iPhone และ SDK แล้ว
ฉันทดสอบแอปแล้วและใช้งานได้ดียกเว้นสิ่งเดียว
ฉันมีช่องข้อความที่แป้นตัวเลขจะปรากฏขึ้นหากผู้ใช้ต้องการพิมพ์บางสิ่งนอกจากนี้ปุ่มที่กำหนดเองจะถูกเพิ่มลงในพื้นที่ว่างเมื่อแป้นพิมพ์ปรากฏขึ้น
- (void)addButtonToKeyboard
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
// 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];
// 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 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2) {
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
[keyboard addSubview:doneButton];
} else {
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
}
}
}
สิ่งนี้ใช้งานได้ดีจนถึงตอนนี้
ก่อนอื่นฉันได้รับคำเตือนนี้:
ไม่พบ keyplane ที่รองรับ type 4 สำหรับคีย์บอร์ด iPhone-Portrait-NumberPad; โดยใช้ 3876877096_Portrait_iPhone-Simple-Pad_Default
จากนั้นปุ่มที่กำหนดเองก็ไม่ปรากฏขึ้นซึ่งฉันคิดว่าเป็นเพราะ 2 บรรทัดนี้:
if([[keyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
และ
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
ข้อเสนอแนะใด ๆ ?