当前位置:  编程技术>移动开发
本页文章导读:
    ▪说说日前体会        说说最近体会 这一个月每日每夜的写代码,却总感觉没有人家那么那般行云流水的感觉。后来经过自己几次吐血的经历,总算找到一点点门道。    首先。明白你的目标。我们在刚开始.........
    ▪ UIScrollView 兑现自动循环滚动        UIScrollView 实现自动循环滚动 1.实现UIScrollViewDelegate 2. // // HomeView.m // Direction // // Created by apple on 12-3-22. // Copyright (c) 2012年 __MyCompanyName__. All rights reserved. // #import "HomeView.h" #define WIDTH_OF_SC.........
    ▪ Xcode4.3 控制台中市文乱码       Xcode4.3 控制台中文乱码 shift+command+<修改 Run project.app->Info->Debugger 为GDB ......

[1]说说日前体会
    来源: 互联网  发布时间: 2014-02-18
说说最近体会
这一个月每日每夜的写代码,却总感觉没有人家那么那般行云流水的感觉。后来经过自己几次吐血的经历,总算找到一点点门道。

    首先。明白你的目标。我们在刚开始写一个程序之前,不是在脑子里解决以后这个程序怎么怎么做怎么怎么优化,首先,要明白,你要做的是先解决这个程序的是否存在的问题。

    经历:在解决一个简单的图片浏览器的时候,我一直在想这个图片浏览器怎么怎么做,要做到怎么怎么好。之后,噩梦开始了。我首选用imageview,但写着写着感觉效果不好吧。然后换成gallery,但因为是功能的原因,一时想不到gallery如何将图片全部放大到一张。于是换成imageswitch,在imageswitch的时候,又因为图片没有gallery那种滑动的感觉,于是将缩写的imageswitch全部删了,重新换成gallery,然后一直在痛苦,打开图片,解决内存,滑动有延迟。。。。。等到所有的完成的差不多的时候,回头看看,其实,我仅仅需要完成一个imageview就行了。后面还有一堆任务。。。。欲哭无泪


    其次,在你所写的类中。明白你要的是什么关键数据。就像数据库中那样,一个primary key就可以寻找到你所想要的所有的数据。在一个类中,你想传递给别的类的数据化,就不要弄得太花哨,哎呀,你看,可以加一个指定某种类型的方法,可以加一个空点xx数据的类型。我告诉你,你之后肯定会付出巨额的代价整理你的所有的方法。

    经历:写一个文件管理器的时候,在多个activity之间传递数据,我就将几个activity中间隔出来一个java代码块,用来方便的让一个activity的数据方便的传到另外一个activity。但问题来了。我当时想,文件有mp3,MP4 图片是吧。我设置一些这种方法,有别的什么类型我又设置另外几个方法。最后忙了一天。我靠。。。我写了什么。。。他大爷的,最后自己都迷茫了。其实。我仅仅需要传递一个关键字。filepath,文件路径就行了。又是操蛋的一天

    最后,我们平时知道很多东西,有些可能是忘了,但是大多都不知道怎么活用。其实,各种大牛都是将东西用活了之后才牛逼起来。。。

    经历。缓冲池有很多人知道吧,线程缓冲池,XX缓冲池一大堆。。。但是我在做工程的时候,就tmd没有想到图片也能用缓冲池,最后还是老大一言惊醒。双缓冲了解过吧。没有了解从字面上也可以看出大概怎么用,用兴趣的,做动画,图片,游戏的基本上都会这个。还是当时不小心瞄到书上的这几个关键字我才醒悟过来。平时没有动脑子,都快生锈了。

ok。就介绍到这里。

    
[2] UIScrollView 兑现自动循环滚动
    来源: 互联网  发布时间: 2014-02-18
UIScrollView 实现自动循环滚动

1.实现UIScrollViewDelegate

2.

//
//  HomeView.m
//  Direction
//
//  Created by apple on 12-3-22.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import "HomeView.h"

#define WIDTH_OF_SCROLL_PAGE 320
#define HEIGHT_OF_SCROLL_PAGE 460
#define WIDTH_OF_IMAGE 320
#define HEIGHT_OF_IMAGE 284
#define LEFT_EDGE_OFSET 0

@implementation HomeView
@synthesize scrollView;

- (void)dealloc {
    [scrollView release];
    [myTimer release];
    [super dealloc];
}
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        [self addSubview:[self homeScrollView]];
    }
    return self;
}

-(UIScrollView *) homeScrollView{
    scrollView = [[UIScrollView alloc] init];
    CGRect scrollFrame;
    scrollFrame.origin.x = 0;
    scrollFrame.origin.y = 0;  
    scrollFrame.size.width = WIDTH_OF_SCROLL_PAGE;
    scrollFrame.size.height = HEIGHT_OF_SCROLL_PAGE;
    scrollView = [[UIScrollView alloc] initWithFrame:scrollFrame];
    scrollView.bounces = YES;
    scrollView.pagingEnabled = YES;
    scrollView.delegate = self;
    scrollView.userInteractionEnabled = YES;
    slideImages = [[NSMutableArray alloc] init];
    [slideImages addObject:@"image1.png"];
    [slideImages addObject:@"image2.png"];
    [slideImages addObject:@"image3.png"];
    
    //add the last image first
    
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[slideImages objectAtIndex:([slideImages count]-1)]]];
    
    imageView.frame = CGRectMake(LEFT_EDGE_OFSET, 0, WIDTH_OF_IMAGE, HEIGHT_OF_IMAGE);
    [scrollView addSubview:imageView];
    [imageView release];
    for (int i = 0;i<[slideImages count];i++) {
        //loop this bit
        UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[slideImages objectAtIndex:i]]];
        imageView.frame = CGRectMake((WIDTH_OF_IMAGE * i) + LEFT_EDGE_OFSET + 320, 0, WIDTH_OF_IMAGE, HEIGHT_OF_IMAGE);
        [scrollView addSubview:imageView];
        [imageView release];
        
    }
    
    //add the first image at the end
    imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[slideImages objectAtIndex:0]]];
    imageView.frame = CGRectMake((WIDTH_OF_IMAGE * ([slideImages count] + 1)) + LEFT_EDGE_OFSET, 0, WIDTH_OF_IMAGE, HEIGHT_OF_IMAGE);
    [scrollView addSubview:imageView];
    [imageView release];
    [scrollView setContentSize:CGSizeMake(WIDTH_OF_SCROLL_PAGE * ([slideImages count] + 2), HEIGHT_OF_IMAGE)];
    [scrollView setContentOffset:CGPointMake(0, 0)];
    [self addSubview:scrollView];
    [self.scrollView scrollRectToVisible:CGRectMake(WIDTH_OF_IMAGE,0,WIDTH_OF_IMAGE,HEIGHT_OF_IMAGE) animated:NO];
    [self performSelector:@selector(updateScrollView) withObject:nil afterDelay:0.0f];
    return self.scrollView;
}

- (void) updateScrollView
{
    [myTimer invalidate];
    myTimer = nil;
    //time duration
    NSTimeInterval timeInterval = 3;
    //timer
    myTimer = [NSTimer scheduledTimerWithTimeInterval:timeInterval target:self
                                             selector:@selector(handleMaxShowTimer:)
                                             userInfo: nil
                                              repeats:YES];
}

- (void)handleMaxShowTimer:(NSTimer*)theTimer
{
    CGPoint pt = scrollView.contentOffset;
    int count = [slideImages count];
    if(pt.x == WIDTH_OF_IMAGE * count){
        [scrollView setContentOffset:CGPointMake(0, 0)];
        [self.scrollView scrollRectToVisible:CGRectMake(WIDTH_OF_IMAGE,0,WIDTH_OF_IMAGE,HEIGHT_OF_IMAGE) animated:YES];
    }else{
        [self.scrollView scrollRectToVisible:CGRectMake(pt.x+WIDTH_OF_IMAGE,0,WIDTH_OF_IMAGE,HEIGHT_OF_IMAGE) animated:YES];
    }
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    int currentPage = floor((self.scrollView.contentOffset.x - self.scrollView.frame.size.width / ([slideImages count]+2)) / self.scrollView.frame.size.width) + 1;
    if (currentPage==0) {
        //go last but 1 page
        [self.scrollView scrollRectToVisible:CGRectMake(WIDTH_OF_IMAGE * [slideImages count],0,WIDTH_OF_IMAGE,HEIGHT_OF_IMAGE) animated:NO];
    } else if (currentPage==([slideImages count]+1)) { //如果是最后+1,也就是要开始循环的第一个
        [self.scrollView scrollRectToVisible:CGRectMake(WIDTH_OF_IMAGE,0,WIDTH_OF_IMAGE,HEIGHT_OF_IMAGE) animated:NO];
    }
}


/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/

@end
 

    
[3] Xcode4.3 控制台中市文乱码
    来源: 互联网  发布时间: 2014-02-18
Xcode4.3 控制台中文乱码

shift+command+<

修改 Run project.app->Info->Debugger 为GDB


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3