`
re_reference
  • 浏览: 236629 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IOS 代码片段 (Update!)

阅读更多
1、分享到Facebook连接。
http://m.facebook.com/sharer.php?u=URL&t=标题


2、移除ABPeoplePickerNavigationController右边的Cancel按钮
    ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
    picker.delegate = self;
.................

- (void)navigationController:(UINavigationController *)navigationController
      willShowViewController:(UIViewController *)viewController
                    animated:(BOOL)animated {
    // Here we want to remove the 'Cancel' button, but only if we're showing
    // either of the ABPeoplePickerNavigationController's top two controllers
    viewController.navigationItem.rightBarButtonItem = nil;
}

摘自:http://stackoverflow.com/questions/1611499/abpeoplepickernavigationcontroller-remove-cancel-button-without-using-privat

3.ios multipart request related code:
- (void) uploadPicture{
    
    UIImage *img = [UIImage imageNamed:@"icon.png"];
    NSData *imageData = UIImageJPEGRepresentation(img, 90);
    //Here i tried 2 ways of getting the data for uploading, but both don't work.
    
    // create the URL
    NSURL *postURL = [NSURL URLWithString:@"http://*********/PictureUpload"];
    
    // create the connection
    NSMutableURLRequest *postRequest = [NSMutableURLRequest requestWithURL:postURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20.0];
    
    // change type to POST (default is GET)
    [postRequest setHTTPMethod:@"POST"];
    
    // just some random text that will never occur in the body
    NSString *stringBoundary = @"0xKhTmLbOuNdArY---This_Is_ThE_BoUnDaRyy---pqo";
    
    // header value, user session ID added
    NSString *headerBoundary = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",
                                stringBoundary];
    
    // set header
    [postRequest addValue:headerBoundary forHTTPHeaderField:@"Content-Type"];
    // create data
    NSMutableData *postBody = [NSMutableData data];
    
    // text part
    [postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"title\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [postBody appendData:[@"hello" dataUsingEncoding:NSUTF8StringEncoding]];
    [postBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    // media/image part
    [postBody appendData:[[NSString stringWithFormat:@"--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"file\"; filename=\"%@.jpeg\"\r\n", @"helloImage"] dataUsingEncoding:NSUTF8StringEncoding]];
    [postBody appendData:[@"Content-Type: image/jpeg\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    [postBody appendData:[NSData dataWithData:imageData]];
    [postBody appendData:[@"Content-Transfer-Encoding: binary\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    // final boundary
    [postBody appendData:[[NSString stringWithFormat:@"--%@--\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
    NSString *s = [[NSString alloc] initWithData:postBody encoding:NSASCIIStringEncoding];
    NSLog(@"%@", s);
    
    // add body to post
    [postRequest setHTTPBody:postBody];
    
    // pointers to some necessary objects
    NSURLResponse* response;
    NSError* error;
    
    // synchronous filling of data from HTTP POST response
    NSData *responseData = [NSURLConnection sendSynchronousRequest:postRequest returningResponse:&response error:&error];
    
    [NSURLConnection sendAsynchronousRequest:postRequest queue:[NSOperationQueue currentQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
        if (error)
        {
            NSLog(@"Error: %@", [error localizedDescription]);
        }
        
        // convert data into string
        NSString *responseString = [[NSString alloc] initWithBytes:[responseData bytes]
                                                            length:[responseData length]
                                                          encoding:NSUTF8StringEncoding];
        
        // see if we get a welcome result
        NSLog(@"%@", responseString);
    }];
}

See http://stackoverflow.com/questions/8561403/multipart-formdata-image-upload-get-the-file
See https://gist.github.com/1354221
See http://en.wikipedia.org/wiki/MIME

4.Popup 效果弹出视图
CGAffineTransform transform = CGAffineTransformIdentity;
    [self.view setTransform:CGAffineTransformScale(transform, 0.3, 0.3)];
    
    [UIView animateWithDuration:0.2 animations:^{
        [self.view setTransform:CGAffineTransformScale(transform, 1.1, 1.1)];
    } completion:^(BOOL finished) {
        [UIView animateWithDuration:0.13 animations:^{
            [self.view setTransform:CGAffineTransformScale(CGAffineTransformIdentity, 0.9, 0.9)];
        } completion:^(BOOL finished) {
            [UIView animateWithDuration:0.13 animations:^{
                [self.view setTransform:CGAffineTransformScale(CGAffineTransformIdentity, 1.0, 1.0)];
            } completion:^(BOOL finished) {
                //do nothing
            }];
        }];
    }];


5.上下摇晃动画效果
CALayer*viewLayer=[self.inputHolderView layer];
        CABasicAnimation*animation=[CABasicAnimation animationWithKeyPath:@"transform"];
        animation.duration=0.1;
        animation.repeatCount = 4;
        animation.autoreverses=YES;
        animation.fromValue=[NSValue valueWithCATransform3D:CATransform3DRotate(viewLayer.transform, -0.03, 0.0, 0.0, 0.05)];
        animation.toValue=[NSValue valueWithCATransform3D:CATransform3DRotate(viewLayer.transform, 0.03, 0.0, 0.0, 0.05)];
        [viewLayer addAnimation:animation forKey:@"wiggle"];


6.检查ARC的宏
#if !__has_feature(objc_arc)
    [result autorelease];
#endif
分享到:
评论

相关推荐

    IOS 热更新,实时代码更新,动态更新,动态库framework

    实时代码更新是热更新的一种实现方式,它允许开发者在应用运行时直接推送新的代码片段,并在用户设备上执行。这种技术的关键在于如何安全、稳定地加载和执行这些新的代码。通常会涉及到远程服务器、客户端的接收机制...

    ios-UpdateImage.zip

    "ios-UpdateImage.zip" 文件很可能是包含一个示例项目或代码片段,教你如何在iOS应用中方便地从相册或相机获取图片,并根据设备类型(模拟器或真机)进行适配。下面将详细介绍这一知识点。 首先,iOS应用获取图片...

    tesseract-ios-master.zip

    下面是一个简单的使用Tesseract进行识别的代码片段: ```swift let tesseract = G8Tesseract(language: "chi_sim") tesseract.image = UIImage(named: "imageToRecognize.png") tesseract.recognitionLanguage ...

    iOS学习笔记(十六)——详解数据库操作(使用FMDB)

    例如,创建表、插入数据、更新数据和删除数据的代码片段如下: - **创建表**: ```objc NSString *sqlCreateTable = @"CREATE TABLE IF NOT EXISTS 'myTable' ('id' INTEGER PRIMARY KEY AUTOINCREMENT, 'name' ...

    MD5算法封装类 含源码

    例如,使用这个MD5封装类,你可能有以下的代码片段: ```cpp #include "MD5Wrapper.h" // 假设这是封装MD5的头文件 int main() { MD5Wrapper md5; std::ifstream file("test.txt", std::ios::binary); md5....

    hello-xcodeghost:一个漏洞demo

    Hello XcodeGhost说明本代码只...)数据收集服务主机域名:手机感染后的Demo效果后台数据收集XcodeGhost代码片段相关连接http://researchcenter.paloaltonetworks.com/2015/09/update-xcodeghost-attacker-can-phish-p

    App内切换语言

    在移动应用开发中,提供多语言支持是一项基本需求,它能帮助应用触及更广泛的用户群体。本资源"App内切换语言"提供了一种简洁而实用的...这份资源提供的代码片段可能是一个很好的起点,帮助开发者快速实现这一功能。

    APP更新组件.zip

    7. **示例代码**:展示实际的代码片段,帮助开发者更快地理解和应用组件。 8. **更新日志**:记录组件的版本迭代历史,包括新增功能、改进和修复的bug,有助于开发者判断是否需要升级到新版本。 在实际使用过程中...

    VS2010 MFC 选择并获得文件的MD5

    以下是一个简单的示例代码片段: ```cpp #include CFileDialog fileDlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, _T("All Files (*.*)|*.*||")); if (fileDlg.DoModal() == IDOK) { CString ...

    MonoGame-Snippets:这些是一些可以在 MonoGame 中使用的片段

    "MonoGame-Snippets" 项目则提供了一系列在 MonoGame 开发过程中可能会用到的代码片段,帮助开发者更高效地进行游戏编程。 1. **C# 基础** 在 MonoGame 中,开发者主要使用 C# 进行编程。C# 是一种面向对象的语言...

    cocos2dx课程游戏主循环.pdf

    在此代码片段中,我们注意到`run`函数中的`while (true)`循环即为主循环,它不断地检查是否有新的消息到来,如果没有,则调用`update_game()`和`display_game()`函数来更新游戏状态并绘制游戏画面。 ##### 2. ...

    cocos2dx 水波纹

    你需要为顶点着色器(Vertex Shader)和片段着色器(Fragment Shader)编写代码,这两个着色器一起决定了屏幕上每个像素的最终颜色。 2. **应用Shader**: 在Shader中,你需要定义时间和位置的输入变量,以及用于...

    delphicbuilder10_1_upd1 GDI泄露补丁.rar

    这个补丁主要目标是修复Delphi 10.1 Berlin Update 1版本中可能导致GDI泄漏的代码片段,提升程序的稳定性和效率。补丁文件FMX.Canvas.GDIP.pas包含了修复GDI泄漏的关键代码,该文件可能涉及到对FireMonkey(FMX)...

    iphone手指拖拽脚本2

    标签“unity 软件/插件”进一步确认了这是一个Unity3D环境中的组件,可能是自定义的软件插件或者是一段代码片段,用于扩展Unity引擎的功能,特别是在处理触摸输入方面。 部分内容展示了一个名为`Test`的Unity C#...

    md5计算c++6.0编写

    示例代码片段(使用OpenSSL): ```cpp #include #include #include #include std::string calculateMD5(const std::string& filePath) { std::ifstream file(filePath, std::ios::binary); if (!file) { ...

    1stClass for RAD Studio XE6 VCL - 14.0.1 Retail

    10. **技术支持和社区**:作为一款商业产品,1stClass很可能提供技术支持和用户社区,允许开发者交流问题、分享代码片段和最佳实践,进一步增强其使用体验。 总的来说,1stClass for RAD Studio XE6 VCL - 14.0.1 ...

    windows上webkit的编译过程.pdf

    WebKit是开源网页浏览器引擎,也是Safari浏览器的内核,广泛应用于iOS设备和macOS系统。要在Windows上编译WebKit,通常需要以下几个步骤和知识要点: 1. **Visual Studio版本的选择**:根据提供的文档片段,编译...

    datetimepicker控件的用法

    以下是一个简单的C#示例代码片段,展示如何处理datetimepicker的ValueChanged事件并更新数据库: ```csharp private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { // 获取新选择的日期和时间...

    MD5算法,求文件的MD5值

    以下是一个C++代码片段的示例: ```cpp #include #include #include #include std::string getMD5FromFile(const std::string& filename) { std::ifstream file(filename, std::ios::binary); if (!file) { ...

Global site tag (gtag.js) - Google Analytics