2010-11-17 27 views

Trả lời

12

Câu trả lời ngắn gọn là KHÔNG. Hai bàn phím duy nhất bạn có thể hiển thị là bàn phím kiểu thông thường và cảnh báo.

Có nhiều cách để hack xung quanh, lấy bàn phím ui và thay đổi bố cục của nó. Tôi sẽ không khuyên bạn nên làm điều này vì nó sẽ 1) có khả năng khiến ứng dụng của bạn bị từ chối khỏi cửa hàng ứng dụng và 2) có khả năng xảy ra trong lần sửa đổi iOS tiếp theo.

Có vẻ như đặt chế độ xem màu đen hoặc trắng phía sau bàn phím sẽ hoạt động cho ứng dụng. Trong trường hợp này, tôi sẽ khuyên bạn nên tìm kiếm here để có cách tạo hiệu ứng cho chế độ xem màu đen phía dưới bàn phím.

4

Như Ben nói ở trên, bạn có thể chỉ cần sử dụng một trong hai giá trị:

[textView setKeyboardAppearance:UIKeyboardAppearanceAlert]; 
[textView setKeyboardAppearance:UIKeyboardAppearanceDefault]; 
4

Đây là mã để loại bỏ các nền UIKeyboard bằng cách giấu nó. Cảm thấy tự do để sửa đổi nó để nhuộm màu UIKeyboard:

-(NSArray*)subviewsOfView:(UIView*)view withType:(NSString*)type{ 
NSString *prefix = [NSString stringWithFormat:@"<%@",type]; 
NSMutableArray *subviewArray = [NSMutableArray array]; 
for (UIView *subview in view.subviews) { 
    NSArray *tempArray = [self subviewsOfView:subview withType:type]; 
    for (UIView *view in tempArray) { 
     [subviewArray addObject:view]; 
    } 
} 
if ([[view description]hasPrefix:prefix]) { 
    [subviewArray addObject:view]; 
} 
return [NSArray arrayWithArray:subviewArray]; 
} 

-(void)removeKeyboardBackground{ 
    for (UIWindow *keyboardWindow in [[UIApplication sharedApplication] windows]) { 
     for (UIView *keyboard in [keyboardWindow subviews]) { 
      for (UIView *view in [self subviewsOfView:keyboard withType:@"UIKBBackgroundView"]) { 
       view.hidden=YES; 
      } 
     } 
    } 
} 

Chỉ cần gọi [self removeKeyboardBackground] sau khi bạn nhận được một NSNotification cho UIKeyboardDidShowNotification. Làm bất cứ điều gì bạn muốn với chế độ xem nền bằng cách thay thế view.hidden=YES; bằng bất kỳ thứ gì bạn muốn.

Các vấn đề liên quan