创建自定义 UITextView 与 UILabels 以及其中的文本



我想创建一个自定义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;
}

如果按下退格键,则替换字符串(字符串)将具有空值。因此,我们可以使用它来识别退格键按下。

最新更新