Xcode 在iPad上制作定制键盘,需要一些部件的帮助吗

Xcode 在iPad上制作定制键盘,需要一些部件的帮助吗,xcode,ipad,Xcode,Ipad,现在我正在为一个应用程序制作一个自定义键盘。我已经设置了一个键盘,它模仿了普通键盘的外观,但有我输入的特定键。我还设置了一个视图控制器,该控制器将图像和一系列透明的UIButton放置在IB中的每个键上。以下是迄今为止的代码: //CustomKeyBoardViewController.h #import <UIKit/UIKit.h> @protocol CustomKeyBoardViewControllerDelegate - (void) buttonTapped:(N

现在我正在为一个应用程序制作一个自定义键盘。我已经设置了一个键盘,它模仿了普通键盘的外观,但有我输入的特定键。我还设置了一个视图控制器,该控制器将图像和一系列透明的UIButton放置在IB中的每个键上。以下是迄今为止的代码:

//CustomKeyBoardViewController.h

#import <UIKit/UIKit.h>

@protocol CustomKeyBoardViewControllerDelegate
- (void) buttonTapped:(NSString*)text;
- (void) doneTapped;
@end


@interface CustomKeyBoardViewController : UIViewController {
    id<CustomKeyBoardViewControllerDelegate> _delegate;
}

-(IBAction)spaceTapped:(id)sender;
-(IBAction)goTapped:(id)sender;

-(IBAction)xTapped:(id)sender;

-(IBAction)plusTapped:(id)sender;
-(IBAction)minusTapped:(id)sender;
-(IBAction)arrowTapped:(id)sender;
-(IBAction)slashTapped:(id)sender;

-(IBAction)oneTapped:(id)sender;
-(IBAction)twoTapped:(id)sender;
-(IBAction)threeTapped:(id)sender;
-(IBAction)fourTapped:(id)sender;
-(IBAction)fiveTapped:(id)sender;
-(IBAction)sixTapped:(id)sender;
-(IBAction)sevenTapped:(id)sender;
-(IBAction)eightTapped:(id)sender;
-(IBAction)nineTapped:(id)sender;
-(IBAction)zeroTapped:(id)sender;

@property(nonatomic, assign) id<CustomKeyBoardViewControllerDelegate> _delegate;

@end


//CustomKeyBoardViewController.m

#import "CustomKeyBoardViewController.h"

@implementation CustomKeyBoardViewController

@synthesize _delegate, Keyboard;

- (IBAction)spaceTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@" "];}}

- (IBAction)goTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"Go"];}}


- (IBAction)xTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"x"];}}


- (IBAction)plusTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"+"];}}

- (IBAction)minusTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"-"];}}

- (IBAction)arrowTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"^"];}}

- (IBAction)slashTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"/"];}}


- (IBAction)oneTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"1"];}}

- (IBAction)twoTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"2"];}}

- (IBAction)threeTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"3"];}}

- (IBAction)fourTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"4"];}}

- (IBAction)fiveTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"5"];}}

- (IBAction)sixTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"6"];}}

- (IBAction)sevenTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"7"];}}

- (IBAction)eightTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"8"];}}

- (IBAction)nineTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"9"];}}

- (IBAction)zeroTapped:(id)sender {if (_delegate != nil) {[_delegate buttonTapped:@"0"];}}

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return ((interfaceOrientation == UIInterfaceOrientationPortrait) || 
            (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown));
}


- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];}


- (void)viewDidUnload {[super viewDidUnload];}


- (void)dealloc {[super dealloc];}


@end
//CustomKeyBoardViewController.h
#进口
@协议CustomKeyBoardViewControllerDelegate
-(void)带按钮的:(NSString*)文本;
-(无效)未标记;
@结束
@界面CustomKeyBoardViewController:UIViewController{
身份证代表;
}
-(iAction)空格键:(id)发送方;
-(iAction)goTapped:(id)发送方;
-(iAction)xTapped:(id)发送方;
-(iAction)plusTapped:(id)发送方;
-(iAction)(id)发送方;
-(iAction)箭头:(id)发送方;
-(iAction)slashTapped:(id)发送方;
-(iAction)oneTapped:(id)发送方;
-(iAction)两次点击:(id)发送方;
-(iAction)三点:(id)发送方;
-(iAction)fourTapped:(id)发送方;
-(iAction)第五个标题:(id)发送方;
-(iAction)第六步:(id)发送方;
-(iAction)七位:(id)发送方;
-(iAction)八位:(id)发送方;
-(iAction)九个已映射:(id)发送方;
-(iAction)零抽头:(id)发送方;
@属性(非原子,赋值)id\u委托;
@结束
//CustomKeyBoardViewController.m
#导入“CustomKeyBoardViewController.h”
@CustomKeyBoardViewController的实现
@综合代表、键盘;
-(iAction)空格点击:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@”“];}
-(iAction)goTapped:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“Go”];}
-(iAction)xTapped:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“x”];}
-(iAction)plusTapped:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“+”];}
-(iAction)(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“-”];}
-(iAction)箭头点击:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“^”];}
-(iAction)slashTapped:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@”/“];}
-(iAction)oneTapped:(id)发送方{if(_delegate!=nil){[_delegatebuttonTapped:@“1”];}
-(iAction)twottapped:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“2”];}
-(iAction)三次点击:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“3”];}
-(iAction)fourTapped:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“4”];}
-(iAction)第五个上限:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“5”];}
-(iAction)sixtrapped:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“6”];}
-(iAction)sevenTapped:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“7”];}
-(iAction)八位:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“8”];}
-(iAction)ninetap:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“9”];}
-(iAction)zerottapped:(id)发送方{if(_delegate!=nil){[_delegatebuttontapped:@“0”];}
-(无效)viewDidLoad{
[超级视图下载];
}
-(布尔)应自动旋转指针面定向:(UIInterfaceOrientation)interfaceOrientation{
返回((interfaceOrientation==UIInterfaceOrientationGrait)|
(interfaceOrientation==UIInterfaceOrientation肖像向上向下);
}
-(void)didReceiveMemoryWarning{[super didReceiveMemoryWarning];}
-(void)viewDidUnload{[super viewDidUnload];}
-(void)dealloc{[super dealloc];}
@结束
我在和的帮助下解决了这个问题

问题是在另一个视图控制器中使用它。我已经了解到,您需要使用自定义UIView,并将其作为该视图控制器文本字段的inputView

我需要帮助的是,以一种有效的方式将其放在视图中,而不是视图控制器中。 以下是我的主要问题:

我是否需要将所有这些代码放在视图中

我需要这个视图控制器吗

如果我不需要视图控制器,我需要做什么才能将键盘的图像放到视图中

谢谢你的帮助