项目中需要添加MessageUi.framework。
头文件加入MFMailComposeViewControllerDelegate。
#import <MessageUI/MessageUI.h>  


一、创建视图控制器:

MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
mc.mailComposeDelegate = self;


二、设置邮件主题:

[mc setSubject:@"Hello, World!"];


三、设置收件人,收件人有三种:

1、设置主收件人

[mc setToRecipients:[NSArray arrayWithObjects:@"zhuqi0@126.com",
        "@dave@iphonedevbook.com", nil];


2、设置cc

[mc setCcRecipients:[NSArray arrayWithObject:@"zhuqil@163.com"]];


3、设置bcc

[mc setBccRecipients:[NSArray arrayWithObject:@"secret@gmail.com"]];


四、设置邮件主体,有两种格式。

一种是纯文本

  [mc setMessageBody:@"Watson!!!\n\nCome here, I need you!" isHTML:NO];


一个是html格式

[mc setMessageBody:@"<HTML><B>Hello, Joe!</B><BR/>What do you know?</HTML>"
        isHTML:YES];


五、添加附件

添加附件需要三个参数,一个是NSData类型的附件,一个是mime type,一个附件的名称。

  NSString *path = [[NSBundle mainBundle] pathForResource:@"blood_orange"      
      ofType:@"png"];
  NSData *data = [NSData dataWithContentsOfFile:path];
  [mc addAttachmentData:data mimeType:@"image/png" fileName:@"blood_orange"];  


六、视图呈现

    [self presentModalViewController:mc animated:YES];
    [mc release];


七、视图控制器的委托方法

邮件视图控制器的委托方法包含在MFMailComposeViewControllerDelegate中,无论用户是否发送或取消发送,不论系统是否能够发送邮件,

方法 mailComposeController:didFinishWithResult:error: gets called都会被调用。


- (void)mailComposeController:(MFMailComposeViewController*)controller  
        didFinishWithResult:(MFMailComposeResult)result  
        error:(NSError*)error {  
    switch (result)
    {
        case MFMailComposeResultCancelled:
            NSLog(@"Mail send canceled...");
            break;
        case MFMailComposeResultSaved:
            NSLog(@"Mail saved...");
            break;
        case MFMailComposeResultSent:
            NSLog(@"Mail sent...");
            break;
        case MFMailComposeResultFailed:
            NSLog(@"Mail send errored: %@...", [error localizedDescription]);
            break;
        default:
            break;
    }
    [self dismissModalViewControllerAnimated:YES];
}


  
作者:朱祁林
出处:http://zhuqil.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
You can do exactly that via the various sizeWithFont: methods in NSString UIKit Additions. In your case the simplest variant should suffice (since you don't have multi-line labels):

NSString *someString = @"Hello World";
UIFont *yourFont = // [UIFont ...]
CGSize stringBoundingBox = [someString sizeWithFont:yourFont];


What you want is in UIStringDrawing.h

CGFloat  actualFontSize = 12.0;
CGSize sizeNeeded = [plainText sizeWithFont:[UIFont systemFontOfSize:12.0] minFontSize:12.0
      actualFontSize:&actualFontSize forWidth:widthOfMyLabel lineBreakMode:UILineBreakModeTailTruncation];


摘自 http://stackoverflow.com/q...
碰到这样的错误:JSONValue failed. Error is: Unescaped control character [0x09]

有如下解决方案:
-(NSString *)removeUnescapedCharacter:(NSString *)inputStr
{

NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet];

NSRange range = [inputStr rangeOfCharacterFromSet:controlChars];

  if (range.location != NSNotFound)
  {

      NSMutableString *mutable = [NSMutableString stringWithString:inputStr];

      while (range.location != NSNotFound)
      {

          [mutable deleteCharactersInRange:range];

          range = [mutable rangeOfCharacterFromSet:controlChars];

      }

      return mutable;

   }

  return inputStr;
}


Call this method with passing your output string like this
NSString *output = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"yourUrlString"] encoding:NSUTF8StringEncoding error:nil];

output = [self removeUnescapedCharacter:output];


http://stackoverflow.com/q...
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"1.gif" ofType:nil];
SCGIFImageView *gifImageView = [[[SCGIFImageView alloc] initWithGIFFile:filePath] autorelease];
gifImageView.frame = CGRectMake(0, 0, gifImageView.image.size.width, gifImageView.image.size.height);
gifImageView.center = self.view.center;
[self.view addSubview:gifImageView];


gifImageView.image.size就是gif的宽高了
     我们在抱怨百度K站的同时要思考百度为什么要K这个站,只有弄清楚了原因才能做好应对之策。

      淘宝客创造了大量的个人站长收入神话,一个单页网站月入几万已经不是什么天方夜潭。随着上数用户群和淘宝交易额的爆发式增长,和做淘宝客的个人站长收入所吸引,造成了大量的懂或者不懂网站建设及CEO技术的人加入淘宝客这个行业。加上淘宝开放平台API的开放,使淘宝客网站大量采集淘宝商品页面,其结果是同一件商品,同样的内容,没有经过任何更改的情况下在互联网上形成了成千上万的雷同页面。这是所有搜索引擎最反感的,因为它严重影响了用户体验,也对搜索引擎的工作造成了压力。  搜索引擎为了改善用户体验和自身工作环镜的出发点考虑,对这些网站K站就理所当然了,弄明白了原因所在,我们需要对症下药,解决问题。

      一 屏蔽掉所有纯API页面。对那种纯API采集得到的页面进行屏蔽,可能在短时间会有一点的损失,但是从长时间来看是利大于弊的。大家都知道淘宝的商品页面是不稳定的,经常被下架或者卖家不参加淘宝客推广后,你这个页面就不能在你的网站显示,这样的结果是你的网站页面不稳定,搜索引擎可能经常检测到被收录的页面从你的网站消失无法访问。还有一点是重复页面太多,成千上万的淘宝客网站都在采集,蜘蛛爬行至你的网站时,发现数据库里已经有大量相同的数据。所以我们屏蔽掉这部分页面,不让蜘蛛抓取,只让用户能正常访问。

      二 增加搜索引擎的收录。在屏蔽了API页面后,蜘蛛能爬行的页面就变的很少了,这个时间我们需要增加大量可以让蜘蛛可以收录的页面。  每天坚持发至少一篇原创文章,要显示在首页的,这样蜘蛛进入你的网站时能第一时间知道你这个网站有原创内容,不会造成蜘蛛来了发现全是转载和伪原创,带来不好的第一印象。内页新闻资讯页面可以多放几篇伪原创文章,增加收录的同时做好站内链接引导蜘蛛和用户访问更多的页面。最好是用相关联的关键词作为引导。

       增加淘宝商品分类列表页面和店铺分类列表页面的收录量。这时我们可以增加大量引导页面,关键词你可以自己设置,如热门店铺,全部店铺,皇冠店铺等,增加这类页面的好处是,这种页面的雷同率会比较少,因为关键词是你自己定的,采集来的数据千差万别,而且这家店铺或产品被关闭和下架之后还以其它店铺和产品补上来,不会造成页面无法访问。

      三 不要到处张贴牛皮癣。现在的搜索引擎对那种签名,论坛贴内外链已经没有什么效果了,除非这个论坛权重特别高,而且出站链接很少。但以经验判断这种站也是不可能留下链接的。就算当时留下也可能在不久的将来被删,所以最好不要去做这种无用功。被百度收录后的外链然后被删了,这样对你网的权重影响更大。  

    建议不要用自已做站的域名去百度发广告,很多人认为去百度发广告很有效,收录快。这种想法是错的,一个权重不高的域名经常在百度发广告,你的这个域名只会给百度更差的印象。这是作者测试过的,有一个域名进了百度的黑名单后半年内在百度贴吧,知道等都无法显示出来。    外链不在多,在于精。你每天做一个高权重的外链比发100个垃圾外链强的多。

   作者:寒江   转载请注明来源 百茂网  
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐