在编辑文本的文本视图上添加偏移图像
问题描述:
我有一个文本视图,我需要在文本视图中添加图像。文本视图的想法可以假设为文本和图像以及图像文本等。我可以添加图像在文本视图,但我的问题是当我再次编辑我的文本视图,文本后面的图像。我想要的是假设如果图像低于我的光标位置,并且我正在编辑文本,所以我的图像也应该前移或请帮助我如何实现在编辑文本时移动图像的功能。我的应用程序部署目标是5.0,因此我们可以包含ios 5.0中提供的新功能。在编辑文本的文本视图上添加偏移图像
在图像中显示了如何在编辑文本时将文本放在图像视图后面。这就是为什么我需要移动图像视图。
请请帮助我,我就在这里停留。
在此先感谢。
答
多德使用我的代码...
- (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);
}
}
}
希望,这将帮助你...享受... ...
它的工作对我来说就像是一种魅力。我没有语言来感谢你。非常感谢你的帮助。我希望我可以多次赞扬它,但它会适用于一张图片,你能提出建议如何去做像文字和图像,然后在image.Please后写文字请请帮助我。 – Gypsa 2012-04-24 04:57:36
你是否想要在当前情况下改变图像和文字的顺序?你能描述一下你的情景吗?所以,我可以理解你想要什么。 – Nit 2012-04-24 05:18:36
我的场景是: - 有一个文本视图,用户可以在其中写入文本并添加多个图像。现在用户输入一行文本并添加一个图像(例如.abcdefgh和image1)。现在用户可以将图像写入图像下方(例如.abcdefgh和image1以及ijklmnop和image2)以及文本等等。这就是我必须实现的方法。现在,如果用户在ijk上移动光标,这种情况下图像1将驻留在其位置上,但图像2会移动如果用户将光标移动到abc并开始写入,则在这种情况下,图像1和图像2都将向下移动。 – Gypsa 2012-04-24 05:22:01