我想创建一个自定义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;
}
如果按下退格键,则替换字符串(字符串)将具有空值。因此,我们可以使用它来识别退格键按下。