テキストを入力できるカスタムを作成し、UITextView
プログラムでテキストのように機能するものを追加UILabels
したいと思います(カーソルが近くに来たら、[バックスペース]ボタンで削除する必要があります)。
これUITextView
は拡張可能である必要があり、ラベルの幅を変えることができます。
この種のもの、チュートリアルなどを作成する方法についてのアイデアはありますか?
テキストを入力できるカスタムを作成し、UITextView
プログラムでテキストのように機能するものを追加UILabels
したいと思います(カーソルが近くに来たら、[バックスペース]ボタンで削除する必要があります)。
これUITextView
は拡張可能である必要があり、ラベルの幅を変えることができます。
この種のもの、チュートリアルなどを作成する方法についてのアイデアはありますか?
このコードを使用してテキストフィールドを作成できます。
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 200, 300, 40)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.font = [UIFont systemFontOfSize:15];
textField.placeholder = @"enter text";
textField.autocorrectionType = UITextAutocorrectionTypeNo;
textField.keyboardType = UIKeyboardTypeDefault;
textField.returnKeyType = UIReturnKeyDone;
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
textField.delegate = self;
[self.view addSubview:textField];
[textField release];
また、ラベルを作成するには、次のコードを使用できます。
CGRect labelFrame = CGRectMake( 10, 40, 100, 30 );
UILabel* label = [[UILabel alloc] initWithFrame: labelFrame];
[label setText: @"My Label"];
[label setTextColor: [UIColor orangeColor]];
label.backgroundColor =[UIColor clearColor];
[view addSubview: label];
バックスペーステープでラベルを削除するには、次の方法を使用します。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if ([string isEqualToString:@""]) {
NSLog(@"backspace button pressed");
[label removeFromSuperview];
}
return YES;
}
バックスペースボタンが押されると、replacementString(string)の値はnullになります。したがって、これを使用してバックスペースボタンの押下を識別できます。