Giter VIP home page Giter VIP logo

m80attributedlabel's Introduction

M80AttributedLabel

Another attributed label using CoreText 中文版本

Features

  • Multi-line Rich Text Display
  • Auto Link Detection and Custom Links Supported
  • Embedding Image and Custom Views
  • Following Properties Supported:
    • font
    • textColor
    • highlightColor
    • linkColor
    • underLineForLink
    • numbersOfLines (Truncates Last Line Supported)
    • textAlignment
    • lineBreakMode
    • lineSpacing
    • paragraphSpacing
    • shadowColor
    • shadowOffset
    • shadowBlur

System Requirement

  • iOS 7.0 or later
  • ARC required

Installation

Podfile

pod 'M80AttributedLabel'

Manually

  • git clone https://github.com/xiangwangfeng/M80AttributedLabel.git
  • Copy files in Class/M80AttributedLabel to your project
  • Add CoreText.framework to your target

Usage

Basic

M80AttributedLabel *label = [[M80AttributedLabel alloc]initWithFrame:CGRectZero];
    
label.text      = @"Hello M80AttributedLabel";
label.font      = [UIFont fontWithName:@"Zapfino" size:25];
label.textColor = M80RGB(0xFF9F00);
label.shadowColor = [UIColor grayColor];
label.shadowOffset= CGSizeMake(1, 1);
label.shadowBlur = 1;
    
label.frame     = CGRectInset(self.view.bounds,20,20);

[self.view addSubview:label];
   

Link

M80AttributedLabel *label = [[M80AttributedLabel alloc]initWithFrame:CGRectZero];
    
NSString *text  = @"The game which I current play is hearthstone,and its website is www.hearthstone.com.cn";
NSRange range   = [text rangeOfString:@"hearthstone"];
label.text      = text;
[label addCustomLink:[NSValue valueWithRange:range]
            forRange:range];
label.delegate = self;
    
label.frame     = CGRectInset(self.view.bounds,20,20);

[self.view addSubview:label];

Image

M80AttributedLabel *label = [[M80AttributedLabel alloc]initWithFrame:CGRectZero];
label.lineSpacing = 5.0;
    
[label appendImage:[UIImage imageNamed:@"avatar"] 
		    maxSize:CGSizeMake(40, 40)
       	  margin:UIEdgeInsetsZero
 	      alignment:M80ImageAlignmentBottom];
    
NSString *text  = @"say:\n有人问一位登山家为什么要去登山——谁都知道登山这件事既危险,又没什么实际的好处。[haha][haha][haha][haha]他回答道:“因为那座山峰在那里。”我喜欢这个答案,因为里面包含着幽默感——明明是自己想要登山,偏说是山在那里使他心里痒痒。除此之外,我还喜欢这位登山家干的事,没来由地往悬崖上爬。[haha][haha][haha]它会导致肌肉疼痛,还要冒摔出脑子的危险,所以一般人尽量避免爬山。[haha][haha][haha]用热力学的角度来看,这是个反熵的现象,所发趋害避利肯定反熵。";
    
//replace [haha] by image
NSArray *components = [text componentsSeparatedByString:@"[haha]"];
NSUInteger count = [components count];
for (NSUInteger i = 0; i < count; i++)
{
    [label appendText:[components objectAtIndex:i]];
    if (i != count - 1)
    {
        [label appendImage:[UIImage imageNamed:@"haha"]
                       maxSize:CGSizeMake(15, 15)
                        margin:UIEdgeInsetsZero
                     alignment:M80ImageAlignmentCenter];
    }
}
    
label.frame     = CGRectInset(self.view.bounds,20,20);
[self.view addSubview:label];
    
    

Attachemnt

M80AttributedLabel *label = [[M80AttributedLabel alloc]initWithFrame:CGRectZero];
    
for (NSInteger i = 0; i < 3; i++)
{
	[label appendText:@"Click the icon to fire event"];
	
	UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
	button setBackgroundImage:[UIImage imageNamed:@"play"] forState:UIControlStateNormal];
	[button addTarget:self
              action:@selector(buttonClicked:)
    forControlEvents:UIControlEventTouchUpInside];
    [button setBounds:CGRectMake(0, 0, 30, 30)];
    [button setTag:i];
    [label appendView:button];
        
    [label appendText:@"\n\n\n"];
}
    

label.frame     = CGRectInset(self.view.bounds,20,20);
[self.view addSubview:label];

Contact

License

M80AttributedLabel is available under the MIT license. See the LICENSE file for more info.

m80attributedlabel's People

Contributors

elfsundae avatar timelessg avatar xiangwangfeng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

m80attributedlabel's Issues

A issues for detecting URL

See this codes in M80AttributedLabel.m=> - (void)computeLink:sync:, at about line 1,000.
As i know, you wanna put the detecting at a subthread while the detected string's length is over 50, but i saw the code below, the comments are my query.

`
// sync to main thread?
dispatch_sync(get_m80_attributed_label_parse_queue(), ^{

        // Does this time-consuming operation in main thread might not what you wanna do.
        NSArray *links = [M80AttributedLabelURL detectLinks:text];

        // it's just specify a low priority to the following codes, and make the main thread 
        // execute the codes in it's  idle time? I really do not get your point~
        dispatch_async(dispatch_get_main_queue(), ^{ 
            NSString *plainText = [[weakSelf attributedString] string]; 
            if ([plainText isEqualToString:text])  {
                block(links);
            }
        }

`
Thanks for your sharing~

单行文本取字体高度不显示问题

举个很简单的例子:
以下不会显示文本
NSString *text = @"The game ";
M80AttributedLabel *label = [[M80AttributedLabel alloc]initWithFrame:CGRectMake(100, 200, 100, [UIFont systemFontOfSize:14].lineHeight)];
label.text = text;
label.font = [UIFont systemFontOfSize:14];
[self.view addSubview:label];

而系统的正常显示
NSString *text = @"The game ";
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(100, 200, 100, [UIFont systemFontOfSize:14].lineHeight)];
label.text = text;
label.font = [UIFont systemFontOfSize:14];
[self.view addSubview:label];

希望优化下

关于appendView添加图片问题

M80AttributedLabel *label = [[M80AttributedLabel alloc] initWithFrame:CGRectZero];
for (NSInteger i = 0; i < 3; i++) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setBackgroundImage:[UIImage imageNamed:@"play"] forState:UIControlStateNormal];
[button addTarget:self
action:@selector(buttonClicked:)
forControlEvents:UIControlEventTouchUpInside];
[button setBounds:CGRectMake(0, 0, 30, 30)];
[button setTag:i];
[label setText:@"测试示例"];
[label appendView:button margin:UIEdgeInsetsMake(0, 0, 0, 0) alignment:M80ImageAlignmentCenter];
NSAttributedString *temp = [[NSAttributedString alloc] initWithString:@"112233"];
[label setAttributedText:temp];
}
修改了一下demo的代码,用来模拟我们项目中的需求。先文字再图片再文字,如果按照这种方式添加的话,自定义的图片就会消失。怎么添加才能保证,需求的顺序

關於添加圖片的效能問題

先對作者分享這個Code表示感謝,我在TableViewCell中使用這個Label,使用appendImage這個方法添加一連串的表情圖片,發現在滾動時畫面卡卡的,效能似乎不是很好,想請問我可以從什麼方向來改善這一點

能否解析html、css 字符串?

你好,请问这个Label能否解析能否解析从服务器返回的html、css 字符串呢?就像webView那种功能,因为目前iOS webView性能实在是比较差劲,所以想使用三方的,我看过DTCoreText,但是这个类库实在是太大了,文件太多,github的文档、类库都比较混乱,不是很想使用这个了,或者楼主有否更好的三方框架推荐?谢谢!

iOS13 默认字体显示异常

在iOS13中
系统默认字体会变成 Times New Roman。

CTFontRef fontRef = CTFontCreateWithName((CFStringRef)font.fontName, font.pointSize, nil);

上述代码 font.fontName == ".SFUI-Regular"
fontRef.fontName == "Times New Roman"

iOS13中不能直接使用 "." 开头的字体名。

建议:直接使用UIFont 或者 使用 CTFontCreateWithFontDescriptor

In iOS 13 , system default font changes to "Time New Roman"

CTFontRef fontRef = CTFontCreateWithName((CFStringRef)font.fontName, font.pointSize, nil);

In view of foregoing,
font.fontName == ".SFUI-Regular"
fontRef.fontName == "Times New Roman"

Suggestion: You can use UIFont directly or use CTFontCreateWithFontDescriptor

文本显示不全,高度足够,文本也不长

使用UILabel能够显示全部文本,使用M80AttributedLabel会少显示,但是高度应该是给够了的, 文本也不是很长
代码如下:

    NSString *textMoreThanTwoLines = @"有关美国的一切,可以用一句话来描述:“Americans business is business”,这句话的意思就是说,那个国家永远是在经商热中,而且永远是一千度的白热。所以你要是看了前文之后以为那里有某种气氛会有助于人立志写作就错了。连我哥哥到了那里都后悔了,觉得不该学逻辑,应当学商科或者计算机。虽然他依旧未证出的逻辑定理,但是看到有钱人豪华的住房,也免不了唠叨几句他对妻儿的责任。";
    CGFloat left = 20;
    CGFloat w = self.view.frame.size.width - 2 * left;
    CGFloat top = 20;
    UIFont *font = [UIFont systemFontOfSize:14];
    CGFloat h = [self heightForText:textMoreThanTwoLines width:w andFont:font];
    
    M80AttributedLabel *label = [[M80AttributedLabel alloc] initWithFrame:CGRectZero];
    label.text = textMoreThanTwoLines;
    [label setNumberOfLines:0];
    label.font = font;
    [label setLineSpacing:0];
    [label setParagraphSpacing:0];
    [self.view addSubview:label];
    [label setFrame:CGRectMake(left, top, w, h)];
    label.backgroundColor = [UIColor yellowColor];
    
// 文本高度计算方法
- (CGFloat)heightForText:(NSString *)text width:(CGFloat)width andFont:(UIFont *)font {
    CGSize size = CGSizeZero;
    if (text.length > 0) {
        CGRect frame = [text boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{ NSFontAttributeName: font } context:nil];
        size = CGSizeMake(frame.size.width, frame.size.height + 1);
    }
    return size.height;
}

能帮忙看下是什么问题导致的吗? 看了几个issue,好想跟我遇到的情况都不一样,🙏

iOS 13 上有警告

简单使用

M80AttributedLabel *la = [[M80AttributedLabel alloc]initWithFrame:CGRectMake(0, 0, 300, 80)];
la.font = [UIFont systemFontOfSize:12];
la.text = @"test text";
[self.view addSubview:la];

控制台提示
CoreText performance note: Client called CTFontCreateWithName() using name ".SFUI-Regular" and got font with PostScript name "TimesNewRomanPSMT". For best performance, only use PostScript names when calling this API.

在iPhone6sp上换行会有问题

"测试用例:回山有 @山有人 —123456784熵。[/调皮][/调皮][/调皮][/调皮][/调皮][/调皮][/调皮][/调皮]"

其中[/调皮]为图片emoji,在iPhone6sp上换行会有问题,最后一个emoji永远会独占一行
71588061635_ pic

宽度计算

使用 - (CGSize)sizeThatFits:(CGSize)size 计算宽度有问题:

应该是:
Hello World ! \n
Hello
-----------------------
实际是:
Hello World ! \n
Hello
---------------------------------------------

如果Text中有 “\n”的话,会自动使用最大宽度, 应该是所有行中最长的作为 width

希望你有时间可以看一下

CTFramesetterSuggestFrameSizeWithConstraints(framesetter, range, NULL, size, &fitCFRange);

这个方法

谢谢

如果文字能加上 shadow 就好了

[showStr addAttributes:@{ NSShadowAttributeName: self.shadow, NSVerticalGlyphFormAttributeName: @0, } range:NSMakeRange(0, showStr.length)];
写在这里面的阴影显示不出来....

表情在行末尾时高度计算有误差

表情在行末尾时高度计算有误差

[self appendImage:image
maxSize:CGSizeMake(36, 36)
margin:UIEdgeInsetsMake(0, 0, -6, 0)
alignment:M80ImageAlignmentBottom];

screenshot_20150709134714

關於M80Label沒有顯示的問題

你好,想請教一個問題 (iphone5 環境ios7.0/ios8.0) 我試著使用M80Label來實作聊天室訊息,發現如果有許多訊息傳入,需要同時間產生二個以上的M80Label,其中某個Label的字(純文字無圖)就會顯示不出來,有下Log檢查送進Label的文字.Label的Frame.Label的superview都是沒有問題的,跟TableViewCel的reuse也沒有關係,因為每個Label都有唯一的key來Cache,請問作者能否提供一些方向來解決這個問題

非常严重的BUG

连续初始化 两个 Label 的时候 ,第一个label的 链接点击 总是被第二个 touchbegain给捕获到了 ,不知道是为什么 。

文字很多的情况无法绘制,比如10000字

例如,下面这段文字10119个字

译以[haha]及古巴小伙赛义德一[haha]起步行返回酒店,途中突然遇到抢包贼从记者手中夺包而逃。古巴小伙赛义德拔腿就追,翻译则用西语大喊抢包了!几乎就在短短两[haha][haha]秒中之内,附近街道的许多古巴市[haha]民都加入到追贼的行列,各个犹如古巴跨栏名将罗伯斯一样[haha]神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] [haha]Your 职做制。1960年,古巴成为与新**建交在普通的**人眼里,古[haha]巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需不抛下记者的包,一个人夺路逃走。a] [haha]Your 职做制。1960年,古巴成为与新**建交在普通的**人眼里,古[haha]巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此[haha][haha],不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此[haha][haha],不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我say:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Minesay:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is eYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [hah  据**之声《新闻纵横》报道,今天(22日)上午,国家主席***将抵达古巴首都哈瓦那,正式展开对古巴的国事访问。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文,已经学了两年,我觉得学习中文不仅对平常的沟通有用,对商业和外交都有非常重要的作用。我现在兼职做制片,我的目标就是不通过翻译就能和**的客人来打交道。采访结束后,16岁的少年也向记者抛出了一个问题:你来采访古巴人眼中的**,那么**人眼中的古巴又是什么样子呢?说起古巴,大家最先想到的可。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的。1960年,古巴成为与新**建交在普通的**人眼里aha],不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,

自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我say:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Minesay:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is eYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [hah  据**之声《新闻纵横》报道,今天(22日)上午,国家主席***将抵达古巴首都哈瓦那,正式展开对古巴的国事访问。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Minesay:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is eYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [hah  据**之声《新闻纵横》报道,今天(22日)上午,国家主席***将抵达古巴首都哈瓦那,正式展开对古巴的国事访问。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以斯一样神勇。还有一辆越野] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha][haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [因此而迟到,

但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文,已经学了两年,我觉得学习中文不仅对平常的沟通有用,对商业和外交都有非常重要的作用。我现在兼职做制片,我的目标就是不通过翻译就能和**的客人来打交道。采访结束后,16岁的少年也向记者抛出了一个问题:你来采访古巴人眼中的**,那么**人眼中的古巴又是什么样子呢?说起古巴,大家最先想到的可能是跨越两个世纪的“拉美巨人”菲德尔·卡斯特罗,可能是驰骋在北京奥运会赛场的古巴女排。而在绝大多数普通**人眼中,相隔万里的古巴,可能还是一个陌生的国度。古巴究竟什么样?在到古巴采访的第一天傍晚,记者和翻译以及古巴小伙赛义德一起步行返回酒。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以斯一样神勇。还有一辆越野] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha][haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文,已经学了两年,我觉得学习中文不仅对平常的沟通有用,对商业和外交都有非常重要的作用。我现在兼职做制片,我的目标就是不通过翻译就能和**的客人来打交道。采访结束后,16岁的少年也向记者抛出了一个问题:你来采访古巴人眼中的**,那么**人眼中的古巴又是什么样子呢?说起古巴,大家最先想到的可能是跨越两个世纪的“拉美巨人”菲德尔·卡斯特罗,可能是驰骋在北京奥运会赛场的古巴女排。而在绝大多数普通**人眼中,相隔万里的古巴,可能还是一个陌生的国度。古巴究竟什么样?在到古巴采访的第一天傍晚,记者和翻译以及古巴小伙赛义德一起步行返回酒。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,

常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以斯一样神勇。还有一辆越野] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha][haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]ssay:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is[haha][haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your 能是跨越两个世纪的“拉美巨人”菲德尔·卡斯特罗,可能是驰骋在北京奥运会赛场的古巴女排。而在绝大多数普通**人眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha][haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your m[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is[haha][haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your 能是跨越两个世纪的“拉美巨人”菲德尔·卡斯特罗,可能是驰骋在北京奥运会赛场的古巴女排。而在绝大多数普通**人眼中,相隔万里的古巴,可能还是一

个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha][haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[hahaagic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]ssay:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [ineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your m

agic is Minesay:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is eYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [hah  据**之声《新闻纵横》报道,今天(22日)上午,国家主席***将抵达古巴首都哈瓦那,正式展开对古巴的国事访问。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文,已经学了两年,我觉得学习中文不仅对平常的沟通有用,对商业和外交都有非常重要的作用。我现在兼职做制片,我的目标就是不通过翻译就能和**的客人来打交道。采访结束后,16岁的少年也向记者抛出了一个问题:你来采访古巴人眼中的**,那么**人眼中的古巴又是什么样子呢?说起古巴,大家最先想到的可。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告

诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文,已经学了两年,我觉得学。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文,已经学了两年,我觉得学习中文不仅对平常的沟通有用,对商业和外交都有非常重要的作用。我现在兼职做制片,我的目标就是不通过翻译就能和**的客人来打交道。采访结束后,16岁的少年也向记者抛出了一个问题:你来采访古巴人眼中的**,那么**人眼中的古巴又是什么样子呢?说起古巴,大家最先想到的可能是跨越两个世纪的“拉美巨人”菲德尔·卡斯特罗,可能是驰骋在北京奥运会赛场的古巴女排。而在绝大多数普通**人眼中,相隔万里的古巴,可能还是一个陌生的国度。古巴究竟什么样?在到古巴采访的第一天傍晚,记者和翻译以及古巴小伙赛义德一起步行返回酒。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以斯一样神勇。还有一辆越野] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha][haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is

Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]ssay:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is[haha][haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your 能是跨越两个世纪的“拉美巨人”菲德尔·卡斯特罗,可能是驰骋在北京奥运会赛场的古巴女排。而在绝大多数普通**人眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看

过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha][haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your m[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is[haha][haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your 能是跨越两个世纪的“拉美巨人”菲德尔·卡斯特罗,可能是驰骋在北京奥运会赛场的古巴女排。而在绝大多数普通**人眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成

为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的

。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha]眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha]眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] You

r magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha]眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha]眼中,相隔万里的古巴,可能还是一个陌。1960年,古巴成为与新**建交在普通的**人眼里,古巴的关键词是社会主义、是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了

两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha]也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha]是卡斯特罗、切格瓦拉,是椰林树影、水清沙白希望能交上更多的**朋友。代了早期卡车改装的公交车,已经在哈瓦那街头已经跑了两年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼

喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha]常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha]年的时间,但由于数量还远远不能满足古巴人的需要,许多人在日头底下等公交,常常一等就是半个小时、甚至一个小时,也常常会因此而迟到,但是尽管如此,不少古巴人还是乐观地觉得,在**的帮助下,自己的生活正在一步一步变得更好。助,我们可以在十年的第一年就用上海尔冰箱。我妈妈因为工作很努力,单位还奖励了她一台熊猫电视机。是李小龙、成龙。在古巴采访期间,记者认识了16岁的赛义德,这个长相酷似球星卡卡的少年兴奋地告诉记者,他正在学中文,希望将来能到**去发展。赛义德:我在10岁的时候就看了很多**的电影和电视,不只是现在的,还看过以前的。像李小龙、成龙,在我们这里很有名,我的朋友都看过,都知道。我很喜欢,就开始模仿和学习。另外,我也在学中文伯斯一样神勇。还有一辆越野车听到呼喊,也风驰电掣般地出现,冲着飞跑的抢包贼猛踩油门追上前去。虽然最后抢包贼并没有抓到,但在众人连追了三条街之后,抢包贼不得不抛下记者的包,一个人夺路逃走。a] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] [haha]say:[hah

a] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha][haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[hahaagic is Mine.[haha] [haha]say:[haha].[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]ssay:[haha] [haha] Your magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is MineYour magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is[haha][haha] Your magichaha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your m

agic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha]ay:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is[haha][haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]say:[haha] [haha] Your magic is Mine.[haha] [haha]

实现网络图片与文字的混排

请问怎么能更好的实现网络图片与文字的混排?
我自己尝试了一把。通过SDWebImage异步下载图片,成功后通过appendImage加到Label中,但是不能插到想放的位置。尝试失败

代码是在ImagesViewController.m中修改的
代码如下:

//
//  ImagesViewController.m
//  M80AttributedLabel
//
//  Created by amao on 5/21/14.
//  Copyright (c) 2014 www.xiangwangfeng.com. All rights reserved.
//

#import "ImagesViewController.h"
#import "M80AttributedLabel.h"
#import "SDWebImageManager.h"

@interface ImagesViewController ()

@end

@implementation ImagesViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:self.view.bounds];
    scrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

    M80AttributedLabel *label = [[M80AttributedLabel alloc]initWithFrame:CGRectZero];
    label.lineSpacing = 5.0;

    [label appendImage:[UIImage imageNamed:@"avatar"
                        ] maxSize:CGSizeMake(40, 40)
                margin:UIEdgeInsetsZero
             alignment:M80ImageAlignmentBottom];

    NSString *text  = @"say:\n有人问一位登山家为什么要去登山——谁都知道登山这件事既危险,又没什么实际的好处。[haha][haha][haha][haha]他回答道:“因为那座山峰在那里。";
    NSArray *components = [text componentsSeparatedByString:@"[haha]"];
    NSUInteger count = [components count];
    for (NSUInteger i = 0; i < count; i++)
    {
        [label appendText:[components objectAtIndex:i]];
        if (i != count - 1) {
            [SDWebImageManager.sharedManager downloadImageWithURL:[NSURL URLWithString:@"http://www.bz55.com/uploads/allimg/120615/1-120615140F3.jpg"]
                                                          options:0
                                                         progress:nil
                                                        completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL)
             {
                 if (image) {
                     [label appendImage:image
                                maxSize:CGSizeMake(300, MAXFLOAT)
                                 margin:UIEdgeInsetsZero
                              alignment:M80ImageAlignmentCenter];
                     CGSize labelSize = [label sizeThatFits:CGSizeMake(CGRectInset(scrollView.bounds,40,40).size.width, CGFLOAT_MAX)];
                     [label setFrame:CGRectMake(40,40,labelSize.width,labelSize.height)];
                     scrollView.contentSize = CGSizeMake(CGRectGetWidth(self.view.bounds), labelSize.height + 40*2);
                 } else {

                 }
             }];
            //UIImage *image = [UIImage imageNamed:@"haha"];
            //[label appendImage:image maxSize:CGSizeMake(20, 20) margin:UIEdgeInsetsZero alignment:M80ImageAlignmentCenter];
        }

    }

    [scrollView addSubview:label];
    [self.view addSubview:scrollView];

    CGSize labelSize = [label sizeThatFits:CGSizeMake(CGRectInset(scrollView.bounds,40,40).size.width, CGFLOAT_MAX)];
    [label setFrame:CGRectMake(40,40,labelSize.width,labelSize.height)];
    scrollView.contentSize = CGSizeMake(CGRectGetWidth(self.view.bounds), labelSize.height + 40*2);
}

@end

能不能复制文本

就像ZAKER或者网易新闻那样富文本中的纯文本部分也可以复制的那种

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.