Ну, я прочитал некоторые достойные очки, прежде чем публиковать этот вопрос, но не смог найти правильные ответы. Я не могу объяснить весь сценарий приложения здесь, потому что это немного сложно объяснить. Итак, позвольте мне сделать этот вопрос очень простым. Как я могу изменить рамку UIKeyBoard
.i.e. Я хочу, чтобы UIKeyBoard вращался или переводил на 90 градусов вверх для поддержки позиции моего взгляда. Есть ли выход для меня?Как изменить раму UIKeyBoard программно в iOS
ответ
Вы не можете изменить клавиатуру по умолчанию. Однако вы можете создать пользовательский UIView для использования в качестве замены клавиатуры, установив его как inputView
, например, UITextField.
При создании пользовательской клавиатуры требуется немного времени, она хорошо работает со старыми версиями iOS (inputView
на UITextField доступна в iOS 3.2 и более поздних версиях) и поддерживает физические клавиатуры (клавиатура автоматически скрывается, если она подключена) ,
Вот некоторые примеры кода для создания вертикальной клавиатуры:
Интерфейс:
#import <UIKit/UIKit.h>
@interface CustomKeyboardView : UIView
@property (nonatomic, strong) UIView *innerInputView;
@property (nonatomic, strong) UIView *underlayingView;
- (id)initForUnderlayingView:(UIView*)underlayingView;
@end
Реализация:
#import "CustomKeyboardView.h"
@implementation CustomKeyboardView
@synthesize innerInputView=_innerInputView;
@synthesize underlayingView=_underlayingView;
- (id)initForUnderlayingView:(UIView*)underlayingView
{
// Init a CustomKeyboardView with the size of the underlying view
// You might want to set an autoresizingMask on the innerInputView.
self = [super initWithFrame:underlayingView.bounds];
if (self)
{
self.underlayingView = underlayingView;
// Create the UIView that will contain the actual keyboard
self.innerInputView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, underlayingView.bounds.size.height)];
// You would need to add your custom buttons to this view; for this example, it's just red
self.innerInputView.backgroundColor = [UIColor redColor];
[self addSubview:self.innerInputView];
}
return self;
}
-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
// A hitTest is executed whenever the user touches this UIView or any of its subviews.
id hitTest = [super hitTest:point withEvent:event];
// Since we want to ignore any clicks on the "transparent" part (this view), we execute another hitTest on the underlying view.
if (hitTest == self)
{
return [self.underlayingView hitTest:point withEvent:nil];
}
return hitTest;
}
@end
Использование пользовательской клавиатуры в некоторых UIViewController:
- (void)viewDidLoad
{
[super viewDidLoad];
CustomKeyboardView *customKeyboard = [[CustomKeyboardView alloc] initForUnderlayingView:self.view];
textField.inputView = customKeyboard;
}
Звучит классно .. Позвольте мне попробовать ... BTW +1 :) –
- 1. Как программно изменить раму UIView внутри подкласса UIView?
- 2. Невозможно изменить раму стола
- 3. программно нажмите клавишу возврата UIkeyboard
- 4. Как получить максимальную раму или оконную раму
- 5. iOS 8 - UIKeyboard hide auto-correct ribbon
- 6. Невозможно изменить раму UILabel в шатре
- 7. iOS: Добавление наблюдателя в раму UIView.origin.y?
- 8. Как установить раму UISegmentedControl?
- 9. iOS: Как получить доступ к `UIKeyboard`?
- 10. Как изменить размер UITableView при видимости UIKeyboard
- 11. UIKeyboard click click action в iOS
- 12. Как изменить полный шрифт приложения ios программно
- 13. Как изменить объем устройства iOS программно?
- 14. Программно изменить проект iOS как универсальный
- 15. UITableViewController, Storyboards и UIKeyboard
- 16. Два способа изменить раму UIView, любые различия?
- 17. UIKeyboard Предложения высоты для уведомления iOS 8?
- 18. UIButton iOS 7 следующая анимация UIKeyboard
- 19. iOS iPhone - получить высоту UIKeyboard до клавиатурыWillShow
- 20. Как установить раму UIImage
- 21. iOS временно включить капитализацию на UIKeyBoard?
- 22. Как узнать, что UIkeyboard появился или нет в iOS?
- 23. Как изменить свойство textLabel в UIButton программно в iOS?
- 24. Как восстановить раму iPad вокруг iOS Simulator 5.1?
- 25. Как изменить ориентацию в iOS
- 26. Изменить раму UITextView, чтобы выглядеть как пузырь речи
- 27. Как установить положение UIKeyboard
- 28. Как сделать UIKeyboard черным?
- 29. Сделайте обрезную раму
- 30. iOS: Программно изменить ограничение высоты UIView
В ios5 эта вещь доступна.check в wwdc2011. – vishiphone
im должен поддерживать все устройства с ios 4.2 и выше :( –
Но я думаю, что это сложнее Buddy, я не знаю об этом извините. – vishiphone