4

UITextFieldからの入力にテンキーを使用しています。InterfaceBuilderには「Done」と呼ばれるリターンキープロパティがあることに気づきました。リターンキーオプションで[完了]を選択すると、数字キーボードに[完了]ボタンが作成されていないことがわかります。他の種類のキーボードで[完了]ボタンを数字キーボードから別のキーボードに変更すると表示されますが、数字キーボードを使用している場合は表示されません。

  • キーボードに「完了」ボタンを作成して、押すとキーボードを非表示にしたい
  • キーボードが占めるスペースの量のためにこれをしたい
  • 私はiOS開発に非常に慣れていないので、この目標を達成するための最も簡単で複雑でない方法をいただければ幸いです。

前もって感謝します!

4

3 に答える 3

8

これを行う一般的な方法は、ボタンを含むツールバーをinputAccessoryViewテキストビューのプロパティに割り当てることです。

于 2012-05-21T18:53:12.247 に答える
0

私はこの解決策をオンラインで見つけましたが、それはあなたの完了ボタンの画像を作成することを意味します:http: //www.neoos.ch/blog/37-uikeyboardtypenumberpad-and-the-missing-return-key

また、@ Jimの提案に従って、例に示されているUIKeyboardビューを取得するために同じ方法を使用して、次のことを行うことができます。

UIToolbar *keyboardViewToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 206, 320, 44)];

UIBarButtonItem *keyboardDoneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneSettingDate)];
UIBarButtonItem *title = [[UIBarButtonItem alloc] initWithTitle:@"Enter Number" style:UIBarButtonItemStylePlain target:nil action:nil];
UIBarButtonItem *spacer1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                         target:nil 
                                                                         action:nil];
UIBarButtonItem *spacer2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                         target:nil 
                                                                         action:nil];



NSArray *barButtonItems = [[NSArray alloc] initWithObjects:spacer1, title, spacer2, pickerDoneButton, nil];
  [keyboardViewToolbar setItems:barButtonItems];

そして、そのビューをキーボードビューに追加します。

また、あなたが始めたばかりであることを考慮した別の提案として。iTunes Uでは、iOSスタンフォードクラスのアプリケーションの開発をダウンロードできます。これはiOS開発に関する非常に完全なコースであり、iTunesStoreから無料で入手できます。

于 2012-05-21T19:07:46.900 に答える
0
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        UIToolbar* KeyBoardToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
        KeyBoardToolbar.barStyle = UIBarStyleBlackTranslucent;
        KeyBoardToolbar.items = [NSArray arrayWithObjects:
                                 [[UIBarButtonItem alloc]initWithTitle:[GlobalSettings GetTextBySelectedLocale:@"Done"] style:UIBarButtonItemStyleBordered target:self action:@selector(DismissKeyBoard)],
                                 [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
                                 nil];
        [KeyBoardToolbar sizeToFit];
        txtMessage.inputAccessoryView = KeyBoardToolbar;
    }

txtMessageはまたはである可能性がありUiTextFieldますUITextView

-(void)DismissKeyBoard{
    [self.view endEditing:YES];
}
于 2016-03-10T13:14:49.957 に答える