iOS开发中一些有用的小代码
1.判断邮箱格式是否正确的代码:// 利用正则表达式验证
-( BOOL )isValidateEmail:( NSString *)email
{
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}" ;
NSPredicate *emailTest = [ NSPredicate predicateWithFormat : @"SELF MATCHES%@",emailRegex];
return [emailTest evaluateWithObject :email];
}
2.图片压缩
用法: UIImage *yourImage= [self imageWithImageSimple:image scaledToSize:CGSizeMake(210.0, 210.0)];
// 压缩图片
- ( UIImage *)imageWithImageSimple:( UIImage *)image scaledToSize:( CGSize )newSize
{
// Create a graphics image context
UIGraphicsBeginImageContext (newSize);
// Tell the old image to draw in this newcontext, with the desired
// new size
[image drawInRect : CGRectMake ( 0 , 0 ,newSize. width ,newSize. height )];
// Get the new image from the context
UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext ();
// End the context
UIGraphicsEndImageContext ();
// Return the new image.
return newImage;
}
3.亲测可用的图片上传代码
- ( IBAction )uploadButton:( id )sender {
UIImage *image = [ UIImage imageNamed : @"1.jpg" ]; // 图片名
NSData *imageData = UIImageJPEGRepresentation (image, 0.5 );// 压缩比例
NSLog ( @" 字节数 :%i" ,[imageData length]);
// post url
NSString *urlString = @"http://192.168.1.113:8090/text/UploadServlet" ;
// 服务器地址
// setting up the request object now
NSMutableURLRequest *request = [[ NSMutableURLRequest alloc ] init ] ;
[request setURL :[ NSURL URLWithString :urlString]];
[request setHTTPMethod : @"POST" ];
//
NSString *boundary = [ NSString stringWithString : @"---------------------------14737809831466499882746641449" ];
NSString *contentType = [ NSString stringWithFormat : @"multipart/form-data;boundary=%@",boundary];
[request addValue :contentType forHTTPHeaderField : @"Content-Type" ];
//
NSMutableData *body = [ NSMutableData data ];
[body appendData :[[ NSString stringWithFormat : @"\r\n--%@\r\n" ,boundary] dataUsingEncoding : NSUTF8StringEncoding ]];
[body appendData :[[ NSString stringWithString : @"Content-Disposition:form-data; name=\"userfile\"; filename=\"2.png\"\r\n" ] dataUsingEncoding : NSUTF8StringEncoding ]]; // 上传上去的图片名字
[body appendData :[[ NSString stringWithString : @"Content-Type: application/octet-stream\r\n\r\n" ] dataUsingEncoding : NSUTF8StringEncoding ]];
[body appendData :[ NSData dataWithData :imageData]];
[body appendData :[[ NSString stringWithFormat : @"\r\n--%@--\r\n" ,boundary] dataUsingEncoding : NSUTF8StringEncoding ]];
[request setHTTPBody :body];
// NSLog(@"1-body:%@",body);
NSLog ( @"2-request:%@" ,request);
NSData *returnData = [ NSURLConnection sendSynchronousRequest :request returningResponse :nil error : nil ];
NSString *returnString = [[ NSString alloc ] initWithData :returnData encoding :NSUTF8StringEncoding ];
NSLog ( @"3- 测试输出: %@" ,returnString );
4.给imageView加载图片
UIImage *myImage = [ UIImage imageNamed : @"1.jpg" ];
[ imageView setImage :myImage];
[ self . view addSubview : imageView ];
5.对图库的操作
选择相册:
UIImagePickerControllerSourceTypesourceType=UIImagePickerControllerSourceTypeCamera;
if (![UIImagePickerControllerisSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
}
UIImagePickerController * picker = [[UIImagePickerControlleralloc]init];
picker.delegate = self;
picker.allowsEditing=YES;
picker.sourceType=sourceType;
[self presentModalViewController:picker animated:YES];
选择完毕:
-(void)imagePickerController:(UIImagePickerController*)pickerdidFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissModalViewControllerAnimated:YES];
UIImage * image=[info objectForKey:UIImagePickerControllerEditedImage];
[self performSelector:@selector(selectPic:) withObject:imageafterDelay:0.1];
}
-(void)selectPic:(UIImage*)image
{
NSLog(@"image%@",image);
imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(0, 0, image.size.width, image.size.height);
[self.viewaddSubview:imageView];
[self performSelectorInBackground:@selector(detect:) withObject:nil];
}
detect 为自己定义的方法,编辑选取照片后要实现的效果
取消选择:
-(void)imagePickerControllerDIdCancel:(UIImagePickerController*)picker
{
[picker dismissModalViewControllerAnimated:YES];
}
6.跳到下个View
nextWebView = [[ WEBViewController alloc ] initWithNibName : @"WEBViewController" bundle :nil ];
[ self presentModalViewController : nextWebView animated : YES ];
7.创建一个UIBarButton右边按钮
UIBarButtonItem *rightButton = [[ UIBarButtonItem alloc ] initWithTitle : @" 右边 " style :UIBarButtonItemStyleDone target : self action : @selector (clickRightButton)];
[ self . navigationItem setRightBarButtonItem :rightButton];
8.设置navigationBar隐藏
self . navigationController . navigationBarHidden = YES ;//
9.UIlabel多行文字自动换行 (自动折行)
UIView *footerView = [[UIView alloc]initWithFrame:CGRectMake(10, 100, 300, 180)];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, 300, 150)];
label.text = @"Hello world! Hello world!Hello world! Hello world! Hello world! Hello world! Hello world! Hello world!Hello world! Hello world! Hello world! Hello world! Hello world! Helloworld!";
// 背景颜色为红色
label.backgroundColor = [UIColor redColor];
// 设置字体颜色为白色
label.textColor = [UIColor whiteColor];
// 文字居中显示
label.textAlignment = UITextAlignmentCenter;
// 自动折行设置
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
10.代码生成Button
CGRect frame = CGRectMake ( 0 , 400 , 72.0 , 37.0 );
UIButton *button = [ UIButton buttonWithType : UIButtonTypeR
补充:移动开发 , IOS ,
- 更多wap疑问解答:
- 新人求助QPainter
- 为什么程序都退出了还可以收到推送?如果大多设备都可以推送那运营商怎么办?
- qt 4.7 sqlserver2000 存储过程调用
- 关于ANDROID4.0.1编译问题!
- Android FrameBuffer读屏幕30秒后mmap失败
- 联通粗定位用java程序如何来请求和接受数据
- 为什么QT运行Android平台的程序时,mouseMoveEvent事件响应的间隔时间很长??????????
- android与PC蓝牙通讯
- 指定大小的label 内容可变,如果内容超出label的宽度,将未能显示的部分显示在另一个label上
- Android调试
- android如何通过wifi连接无线打印机
- 运行程序,release目录下产生一个乱码文件夹
- 分享个某机构最新安卓资料,自己验证了
- service启动不起来,掉不了service connection
- 求助:QT5.0 没有QPrinter吗