当前位置:  编程技术>移动开发
本页文章导读:
    ▪小谈数组的初始化有关问题        小谈数组的初始化问题 part1(应用举例)int[] abc=new int[5]; abc={1,2,3,4,5};报错:Array constants can only be used in initializers.正确的格式为int[] abc={1,2,3,4,5};这叫做数组的静态初始化那么,如果我想在初.........
    ▪ “返回顶端”按钮实现        “回到顶端”按钮实现 <html> <head> <title>“回到顶端”按钮实现</title> <script type="text/javascript" src="/js/jquery/jquery-1.8.1.min.js"></script> <script type="text/javascript"&.........
    ▪ 应用EGORefreshTableHeaderView实现下拉刷新       使用EGORefreshTableHeaderView实现下拉刷新         在使用下拉刷新类库EGORefreshTableHeaderView的时候,将资源文件添加到工程中,也不要忘记添加QuartzCore.framework框架。          我们用到一个EGOT.........

[1]小谈数组的初始化有关问题
    来源: 互联网  发布时间: 2014-02-18
小谈数组的初始化问题
part1(应用举例)
int[] abc=new int[5];
abc={1,2,3,4,5};
报错:Array constants can only be used in initializers.
正确的格式为
int[] abc={1,2,3,4,5};
这叫做数组的静态初始化
那么,如果我想在初始化时标明数组的长度,应该怎么做呢?
int[] abc=new int[5];
abc[0]=1;
abc[1]=2;
abc[2]=3;
abc[3]=4;
abc[4]=5;
System.out.println(abc[2]);
这个时候,系统并没有报错,并且将正确的数值输出。
这叫做数组的动态初始化。

part2(格式罗列)
数组的使用,必须经过声明数组和分配内存给数组两个步骤,这两个步骤的语法结构如下:
//声明一维数组
数据类型 数组名[]=null;
或者
数据类型[]  数组名=null;
//分配内存给数组
数组名=new 数据类型[长度];

在应用中,常常会在声明数组的同时分配内存:
数据类型 数组名[]=new 数据类型[长度];

part3(解决问题)
LinkNode[] nng=new LinkNode[object.length];
nng[i].data=object[i];
nng[i-1].next=nng[i];
此时系统会报空指针错误。

如果在上述代码中加入nng[i]=new LinkNode();变成
LinkNode[] nng=new LinkNode[object.length];
nng[i]=new LinkNode();
nng[i].data=object[i];
nng[i-1].next=nng[i];
程序则会成功运行。

    
[2] “返回顶端”按钮实现
    来源: 互联网  发布时间: 2014-02-18
“回到顶端”按钮实现
<html>
<head>
    <title>“回到顶端”按钮实现</title>
    <script type="text/javascript" src="/js/jquery/jquery-1.8.1.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $(window).scroll(function() {
                if ($(this).scrollTop() > 15) {
                    $('.back-to-top').fadeIn(100);
                } else {
                    $('.back-to-top').fadeOut(100);
                }
            });

            // jQuery实现动画滚动
            $('.back-to-top').click(function(event) {
                event.preventDefault();
                $('html, body').animate({scrollTop: 0}, 500);
            })
        });
    </script>
</head>
<body>
<div id="content">
  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

  <div >back-to-top</div>
</div>
</body>
</html>  







    
[3] 应用EGORefreshTableHeaderView实现下拉刷新
    来源: 互联网  发布时间: 2014-02-18
使用EGORefreshTableHeaderView实现下拉刷新

        在使用下拉刷新类库EGORefreshTableHeaderView的时候,将资源文件添加到工程中,也不要忘记添加QuartzCore.framework框架。

         我们用到一个EGOTableViewPullRefresh的开源项目来实现这个功能,先到这里下载源码,下载完成后里面有个Demo是可以直接运行的Xcode工程,然后就是这个开源项目的源码,学习如何使用可以参照Demo。


1.

打开MainViewController.xib文件然后拖入一个UITableViewController并连接DataSource和Delegate,然后在MainViewController.h文件中声明UITableView的协议。

#import   
#import "EGORefreshTableHeaderView.h"  
  
@interface MainViewController : UITableViewController  
{  
    EGORefreshTableHeaderView *_refreshTableView;  
    BOOL _reloading;  
}  
  
@property (strong,nonatomic) NSArray *array;  
  
//开始重新加载时调用的方法  
- (void)reloadTableViewDataSource;  
//完成加载时调用的方法  
- (void)doneLoadingTableViewData;  
  
@end  

 2.

#import "MainViewController.h"  
  
@interface MainViewController ()  
  
@end  
  
@implementation MainViewController  
@synthesize array = _array;  
  
#pragma mark -  
#pragma mark View life cycle  
-(void)viewDidLoad  
{  
    [super viewDidLoad];  
      
    //设置导航条标题  
    self.navigationItem.title = @"Pull Refresh";  
      
    if (_refreshTableView == nil) {  
        //初始化下拉刷新控件  
        EGORefreshTableHeaderView *refreshView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tableView.bounds.size.height, self.view.frame.size.width, self.tableView.bounds.size.height)];  
        refreshView.delegate = self;  
        //将下拉刷新控件作为子控件添加到UITableView中  
        [self.tableView addSubview:refreshView];  
        _refreshTableView = refreshView;  
    }  
      
    //初始化用于填充表格的数据  
    NSArray *dataArray = [NSArray arrayWithObjects:@"Ryan",@"Vivi", nil];  
    self.array = dataArray;  
      
    //重新加载表格数据  
    [self.tableView reloadData];  
      
}  
  
-(void)viewDidUnload  
{  
    [super viewDidUnload];  
    _refreshTableView = nil;  
}  
  
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
{  
    return (interfaceOrientation == UIInterfaceOrientationPortrait);  
}  
  
# pragma mark -  
# pragma mark UITableViewDataSource Methods  
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView  
{  
    return 10;  
}  
  
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  
{  
    return [self.array count];  
}  
  
//带头标题的表格设置标题方法  
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section  
{  
    return [NSString stringWithFormat:@"Title %d",section + 1];  
}  
  
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  
{  
    static NSString *CellIdentifier = @"CellIdentifier";  
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];  
      
    if (!cell) {  
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];  
    }  
      
    cell.textLabel.text = [self.array objectAtIndex:indexPath.row];  
      
    return cell;  
}  
  
#pragma mark -  
#pragma mark Data Source Loading / Reloading Methods  
//开始重新加载时调用的方法  
- (void)reloadTableViewDataSource{  
    _reloading = YES;  
    //开始刷新后执行后台线程,在此之前可以开启HUD或其他对UI进行阻塞  
    [NSThread detachNewThreadSelector:@selector(doInBackground) toTarget:self withObject:nil];  
}  
       
//完成加载时调用的方法  
- (void)doneLoadingTableViewData{  
    NSLog(@"doneLoadingTableViewData");  
      
    _reloading = NO;  
    [_refreshTableView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView];      
    //刷新表格内容  
    [self.tableView reloadData];  
}  
  
#pragma mark -  
#pragma mark Background operation  
//这个方法运行于子线程中,完成获取刷新数据的操作  
-(void)doInBackground  
{  
    NSLog(@"doInBackground");  
      
    NSArray *dataArray2 = [NSArray arrayWithObjects:@"Ryan2",@"Vivi2", nil];  
    self.array = dataArray2;  
    [NSThread sleepForTimeInterval:3];  
      
    //后台操作线程执行完后,到主线程更新UI  
    [self performSelectorOnMainThread:@selector(doneLoadingTableViewData) withObject:nil waitUntilDone:YES];  
}  
  
  
#pragma mark -  
#pragma mark EGORefreshTableHeaderDelegate Methods  
//下拉被触发调用的委托方法  
-(void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view  
{  
    [self reloadTableViewDataSource];  
}  
  
//返回当前是刷新还是无刷新状态  
-(BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view  
{  
    return _reloading;  
}  
  
//返回刷新时间的回调方法  
-(NSDate *)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView *)view  
{  
    return [NSDate date];  
}  
  
#pragma mark -   
#pragma mark UIScrollViewDelegate Methods  
//滚动控件的委托方法  
-(void)scrollViewDidScroll:(UIScrollView *)scrollView  
{  
    [_refreshTableView egoRefreshScrollViewDidScroll:scrollView];  
}  
  
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate  
{  
    [_refreshTableView egoRefreshScrollViewDidEndDragging:scrollView];  
}  
  
@end  

 

 


    
最新技术文章:
▪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