1

我有一个文本视图,我需要在文本视图中添加图像。文本视图的想法可以假设为文本和图像以及图像文本之后等等。我可以在文本视图上添加图像,但我的问题是当我再次编辑我的文本视图,文本位于图像后面。我想要的是假设图像是否低于我的光标位置并且我正在编辑文本,所以我的图像也应该向前或向后移动。请帮助我如何实现在编辑文本时移动图像。我的应用程序部署目标是 5.0,因此我们可以包含 ios 5.0 中提供的新功能。

在图像中,它显示了如何在编辑文本时将文本放在图像视图后面。这就是我需要转换图像视图的原因。

请帮帮我。我被困在这里。

提前致谢。

4

1 回答 1

1

伙计 使用我的代码...

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
{
if ( [text isEqualToString:@"\n"] ) {

}
else
{
    NSString *yourstring = [[NSString alloc]init];
    yourstring = textView.text;
    CGSize s = [yourstring sizeWithFont:[UIFont systemFontOfSize:15] //define your textview font size
                      constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, MAXFLOAT)  // - 40 For cell padding
                          lineBreakMode:UILineBreakModeWordWrap];   
    CGRect frame = CGRectMake(0.0f, s.height+10, 320.0f, 20);//use YourImageView. height and width 
    YourImageView.frame=frame;
}
return YES;
}

让我知道。如果您发现任何困难...

已编辑 *附加.... *

//imgSwipe2 is my UIImgaeView you can use your imageview. May Be i forgot to release some object and i am sure that you can handle but it's working fine,

-(void)textViewDidChangeSelection:(UITextView *)textView
 {
  NSRange range = textView.selectedRange;
if(range.location<textView.text.length)
{
    NSString * firstHalfString = [txtView.text substringToIndex:range.location]; 

    CGSize s = [firstHalfString sizeWithFont:[UIFont systemFontOfSize:15] 
                           constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, MAXFLOAT)  // - 40 For cell padding
                               lineBreakMode:UILineBreakModeWordWrap];   

    if(s.height<imgSwipe2.frame.origin.y)
    {
        // You can use this code any number of image

        imgSwipe2.frame = CGRectMake(imgSwipe2.frame.origin.x, s.height, imgSwipe2.frame.size.width, imgSwipe2.frame.size.height);  


    }
    else
    {
        // Do what ever you want to do

        NSString * firstString1 = textView.text;                
        CGSize s = [firstString1 sizeWithFont:[UIFont systemFontOfSize:15] 
                            constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, MAXFLOAT)  // - 40 For cell padding
                                lineBreakMode:UILineBreakModeWordWrap];   
        imgSwipe2.frame = CGRectMake(imgSwipe2.frame.origin.x, s.height, imgSwipe2.frame.size.width, imgSwipe2.frame.size.height);


    }   
  }
}

希望,这会帮助你...享受...

于 2012-04-24T04:24:05.377 回答