您的位置:首页 > 产品设计 > UI/UE

UIScrollView,UITableView的简单使用

2015-12-21 23:57 435 查看

UIScrollView的简单使用

 

1,创建对象

2,设置滑动区域

3,创建滑动的View

4,将滑动的view添加到ScrollView上显示

5,释放对象

CGRect screenBounds = [ [UIScreen mainScreen]bounds];//返回的是带有状态栏的Rect

//    CGRect rect = [ [UIScreen mainScreen]application Frame];//不包含状态栏的Rect

//创建ScrollViewiew
UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0.0f, 0.0f, 500.0f, 500.0f)];
scrollView.frame=screenBounds;
scrollView.backgroundColor=[UIColor redColor];

//设置ScollView的滑动区域
scrollView.contentSize=CGSizeMake(500, 1100);

UIImageView *myImageView= [[UIImageView alloc] initWithFrame: CGRectMake( 0, 0, 500, 1100)];

[myImageView setImage:[UIImage imageNamed:@"bk.jpg"]];
//img添加到Scollview
[scrollView addSubview:myImageView];
//scollView添加到View
[self.view addSubview:scrollView];
[scrollView release];
[myImageView release];

 

 

2,UITableView的简单使用,由于最近在做金融相关的开发大量使用到了table相关的控件,android的控件都要自己实现,ios确实自带的效果,想想就有点操蛋 ,,,谁叫ios比android要简单呢?

 



 

 

1,定义标题数据

2,定义标题分别对应的数据

3,实现数据源代理和表格代理(UITableViewDataSource,UITableViewDelegate)

4,创建TableView

5,实现相关的方法

#import "TableViewController.h"

@interface TableViewController (){

UITableView *table;
}

@property(strong,nonatomic)NSMutableArray *arrayList1; //数据源
@property (strong,nonatomic)NSMutableArray *arrayTitle;//标题
@property(strong,nonatomic)NSMutableArray *arrayList2;

@end

@implementation TableViewController

@synthesize arrayList1;
@synthesize arrayTitle;
@synthesize arrayList2;

- (void)viewDidLoad {
[super viewDidLoad];

// Uncomment the following line to preserve selection between presentations.
//     self.clearsSelectionOnViewWillAppear = NO;

// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
self.navigationItem.rightBarButtonItem = self.editButtonItem;

table=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, 430, 600)];
//
table.dataSource=self;
table.delegate=self;

if (arrayList1==nil) {
arrayList1 =[[NSMutableArray alloc]initWithObjects:@"美元/日元",@"美元/韩元",@"韩元/日元",@"港币/日元",@"美元/欧元",@"美元/英镑",@"美元/新加坡元",@"美元/澳元",@"美元/卢布",@"泰铢/日元",@"英镑/泰铢",@"新加坡元/澳门元",@"美元/港币",@"港币/台币",@"台币/越南盾",@"美元/韩元", nil];
arrayTitle=[[NSMutableArray alloc]initWithObjects:@"自选",@"交叉", nil];

arrayList2=[[NSMutableArray alloc]initWithObjects:@"美元/港币",@"韩元/日元", nil];

}

}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

//设置标题
-(NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

return [arrayTitle objectAtIndex:section];
}

#pragma mark - Table view data source
//指定多少分区,根据arrayTitle计算
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
#warning Incomplete implementation, return the number of sections
return [arrayTitle count];
}

//设置数据
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
#warning Incomplete implementation, return the number of rows
//1,根据当前点击的区域设置数据
switch (section) {
case 0:

return [arrayList1 count];
case 1:
return [arrayList2 count];

default:
break;
}

return 0;

}

//绘制数据  cellForRowAtINdexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

//    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
static NSString * string = @"cell";
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:string];
if(cell ==  nil)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:string];
}

//根据分区操作
switch (indexPath.section) {
case 0:
[[cell textLabel] setText:[arrayList1 objectAtIndex:indexPath.row]];
break;

case 1:
[[cell textLabel] setText:[arrayList2 objectAtIndex:indexPath.row]];

break;
default:
break;
}

return cell;
}

// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the specified item to be editable.
return YES;
}

// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
} else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}

// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
}

// Override to support conditional rearranging of the

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the item to be re-orderable.
return YES;
}

#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}

@end

 

1,titleForHeaderInSection  设置数据

2,numberOfSectionsInTableView 根据标题数目进行分区

 

3,numberOfRowsInSection 指定区域数据的条数

 

4,cellForRowAtIndexPath 绘制数据、

    创建cell

  

static NSString * string = @"cell";
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:string];
if(cell ==  nil)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:string];
}

 

   

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: