Ipad 以正确的格式显示UITableView
我有以下代码从URL获取数据,将其存储在数组中,并将其显示在表中。 我遇到了一些与抓取相关的问题,这就解决了 现在的问题是,数据以一种不理想的方式显示在表中 当我运行下面的代码时,我得到了这个输出。灰色阴影部分是我最关心的。 当我试图通过设计视图在灰色阴影区域插入任何元素(比如按钮)时,它会被表重叠。 如果我改变Ipad 以正确的格式显示UITableView,ipad,uitableview,viewcontroller,Ipad,Uitableview,Viewcontroller,我有以下代码从URL获取数据,将其存储在数组中,并将其显示在表中。 我遇到了一些与抓取相关的问题,这就解决了 现在的问题是,数据以一种不理想的方式显示在表中 当我运行下面的代码时,我得到了这个输出。灰色阴影部分是我最关心的。 当我试图通过设计视图在灰色阴影区域插入任何元素(比如按钮)时,它会被表重叠。 如果我改变 aTableView=[[UITableView alloc]initWithFrame:[[UIScreen mainScreen]applicationFrame]样式:UITab
aTableView=[[UITableView alloc]initWithFrame:[[UIScreen mainScreen]applicationFrame]样式:UITableView样式分组]代码>
与
aTableView=[[UITableView alloc]initWithFrame:[[UIScreen mainScreen]applicationFrame]样式:UITableViewStylePlained]代码>
我得到的表格输出没有灰色阴影,但它太简单了
请注意,我是以编程方式创建表的。
fetchdataViewController.h
#import <UIKit/UIKit.h>
@interface fetchdataViewController : UIViewController<UITableViewDataSource,UITableViewDelegate>{
IBOutlet UIWebView *webView;
NSMutableArray *arr1;
NSMutableArray *atarr;
NSMutableArray *arr2;
NSMutableArray *a;
NSMutableArray *b;
NSMutableArray *c;
NSMutableArray *d;
UITableView *aTableView;
}
-(IBAction)btnClicked:(id)sender;
-(IBAction)btnClicked1:(id)sender;
-(void)gainer;
-(void)looser;
@property(nonatomic,retain)NSMutableArray *arr1;
@property(nonatomic,retain)NSMutableArray *arr2;
@property(nonatomic,retain)NSMutableArray *atarr;
@property(nonatomic,retain)NSMutableArray *a;
@property(nonatomic,retain)NSMutableArray *b;
@property(nonatomic,retain)NSMutableArray *c;
@property(nonatomic,retain)NSMutableArray *d;
@property(nonatomic,retain)UIWebView *webView;
@property(nonatomic,retain)UITableView *aTableView;
@end
#导入
@接口fetchdataViewController:UIViewController{
ibuiwebview*webView;
NSMutableArray*arr1;
NSMUTABLEARRY*atarr;
NSMutableArray*arr2;
NSMutableArray*a;
NSMutableArray*b;
NSMutableArray*c;
NSMutableArray*d;
UITableView*aTableView;
}
-(iAction)b取消勾选:(id)发送方;
-(iAction)btnClicked1:(id)发送方;
-(无效)收益者;
-(空)较松;
@属性(非原子,保留)NSMUTABLEARRY*arr1;
@属性(非原子,保留)NSMUTABLEARRY*arr2;
@属性(非原子,保留)NSMUTABLEARRY*atarr;
@属性(非原子,保留)NSMutableArray*a;
@属性(非原子,保留)NSMUTABLEARRY*b;
@属性(非原子,保留)NSMutableArray*c;
@属性(非原子,保留)NSMutableArray*d;
@属性(非原子,保留)UIWebView*webView;
@属性(非原子,保留)UITableView*aTableView;
@结束
fetchdataViewController.m
#import "fetchdataViewController.h"
@implementation fetchdataViewController
NSMutableArray *atarr;
NSMutableArray *arr1;
NSMutableArray *arr2;
NSMutableArray *a;
NSMutableArray *b;
NSMutableArray *c;
NSMutableArray *d;
NSMutableString *mainstr;
NSMutableString *str;
@synthesize webView;
@synthesize arr1;
@synthesize arr2;
@synthesize atarr;
@synthesize a;
@synthesize b;
@synthesize c;
@synthesize d;
@synthesize aTableView;
int i,j;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [a count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier=@"Cell";
static NSInteger StateTag = 1;
static NSInteger CapitalTag = 2;
static NSInteger StateTag1 = 3;
static NSInteger StateTag2 = 4;
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil){
cell=[[[UITableViewCell alloc]initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]autorelease];
CGRect frame;
frame.origin.x = 10;
frame.origin.y = 5;
frame.size.height = 35;
frame.size.width = 170;
UILabel *capitalLabel = [[UILabel alloc] initWithFrame:frame];
capitalLabel.tag = CapitalTag;
[cell.contentView addSubview:capitalLabel];
frame.origin.x += 125;
UILabel *stateLabel = [[UILabel alloc] initWithFrame:frame];
stateLabel.tag = StateTag;
[cell.contentView addSubview:stateLabel];
frame.origin.x += 100;
UILabel *stateLabel1 = [[UILabel alloc] initWithFrame:frame];
stateLabel1.tag = StateTag1;
[cell.contentView addSubview:stateLabel1];
frame.origin.x += 100;
UILabel *stateLabel2 = [[UILabel alloc] initWithFrame:frame];
stateLabel2.tag = StateTag2;
[cell.contentView addSubview:stateLabel2];
}
UILabel *capitalLabel = (UILabel *) [cell.contentView viewWithTag:CapitalTag];
UILabel *stateLabel = (UILabel *) [cell.contentView viewWithTag:StateTag];
UILabel *stateLabel1 = (UILabel *) [cell.contentView viewWithTag:StateTag1];
UILabel *stateLabel2 = (UILabel *) [cell.contentView viewWithTag:StateTag2];
capitalLabel.text=[a objectAtIndex:indexPath.row];
stateLabel.text = [b objectAtIndex:indexPath.row];
stateLabel1.text = [c objectAtIndex:indexPath.row];
stateLabel2.text = [d objectAtIndex:indexPath.row];
return cell;
}
-(IBAction)btnClicked:(id)sender{
[self gainer];
}
-(IBAction)btnClicked1:(id)sender {
[self looser];
}
-(void)gainer{
arr1=[[NSMutableArray alloc]init];
arr2=[[NSMutableArray alloc]init];
a=[[NSMutableArray alloc]init];
b=[[NSMutableArray alloc]init];
c=[[NSMutableArray alloc]init];
d=[[NSMutableArray alloc]init];
NSURL *url=[NSURL URLWithString:@"http://ipad.idealake.com/default.aspx?id=G"];
NSURLRequest *req=[NSURLRequest requestWithURL:url];
[webView loadRequest:req];
//storing page data in string
mainstr=[[NSMutableString alloc] initWithContentsOfURL:url];
atarr=[mainstr componentsSeparatedByString:@"@"];
NSString *str2;
NSString *str3;
for(int i=0; i<[atarr count]-1; i++)
{
// NSLog(@"i=:%i",i);
NSMutableString *str = [atarr objectAtIndex:i];
if (str!= nil)
arr1=[str componentsSeparatedByString:@";"];
for (int k=0;k<[arr1 count];k++)
{
str2 = [arr1 objectAtIndex:k];
[arr2 addObject:str2];
}
}
else
{
//NSLog (@"Nill");
}
}
for(int l=0;l<[arr2 count]/4;l++){
str3=[arr2 objectAtIndex:4*l];
[a addObject:str3];
str3=[arr2 objectAtIndex:(4*l)+1];
[b addObject:str3];
str3=[arr2 objectAtIndex:(4*l)+2];
[c addObject:str3];
str3=[arr2 objectAtIndex:(4*l)+3];
[d addObject:str3];
}
}
-(void)looser{
arr1=[[NSMutableArray alloc]init];
arr2=[[NSMutableArray alloc]init];
a=[[NSMutableArray alloc]init];
b=[[NSMutableArray alloc]init];
c=[[NSMutableArray alloc]init];
d=[[NSMutableArray alloc]init];
NSURL *url=[NSURL URLWithString:@"http://ipad.idealake.com/default.aspx?id=L"];
NSURLRequest *req=[NSURLRequest requestWithURL:url];
[webView loadRequest:req];
mainstr=[[NSMutableString alloc] initWithContentsOfURL:url];
atarr=[mainstr componentsSeparatedByString:@"@"];
NSString *str2;
NSString *str3;
for(int i=0; i<[atarr count]-1; i++)
{
NSMutableString *str = [atarr objectAtIndex:i];
if (str!= nil)
{
arr1=[str componentsSeparatedByString:@";"];
for (int k=0;k<[arr1 count];k++)
{
str2 = [arr1 objectAtIndex:k];
[arr2 addObject:str2];
}
}
else
{
//NSLog (@"Nill");
}
}
for(int l=0;l<[arr2 count]/4;l++){
str3=[arr2 objectAtIndex:4*l];
[a addObject:str3];
str3=[arr2 objectAtIndex:(4*l)+1];
[b addObject:str3];
str3=[arr2 objectAtIndex:(4*l)+2];
[c addObject:str3];
str3=[arr2 objectAtIndex:(4*l)+3];
[d addObject:str3];
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
arr1=[[NSMutableArray alloc]init];
arr2=[[NSMutableArray alloc]init];
a=[[NSMutableArray alloc]init];
b=[[NSMutableArray alloc]init];
c=[[NSMutableArray alloc]init];
d=[[NSMutableArray alloc]init];
[self gainer];
[super viewDidLoad];
aTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen]applicationFrame] style:UITableViewStyleGrouped];
aTableView.dataSource = self;
aTableView.delegate = self;
aTableView.frame = CGRectMake(0, 10, 720, 500);
[self.view addSubview:aTableView];
[super viewDidLoad];
}
- (void)viewDidUnload
{
[super viewDidUnload];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return YES;
}
@end
#导入“fetchdataViewController.h”
@DataViewController的实现
NSMUTABLEARRY*atarr;
NSMutableArray*arr1;
NSMutableArray*arr2;
NSMutableArray*a;
NSMutableArray*b;
NSMutableArray*c;
NSMutableArray*d;
NSMutableString*mainstr;
NSMutableString*str;
@综合网络视图;
@合成arr1;
@合成arr2;
@合成atarr;
@合成a;
@合成b;
@合成c;
@合成d;
@综合阿塔布尔视图;
int i,j;
-(NSInteger)表视图:(UITableView*)表视图行数节:(NSInteger)节{
返回[计数];
}
-(UITableView单元格*)表格视图:(UITableView*)表格视图
cellForRowAtIndexPath:(NSIndexPath*)indexPath{
静态NSString*CellIdentifier=@“Cell”;
静态NSInteger StateTag=1;
静态NSInteger CapitalTag=2;
静态NSInteger stateg1=3;
静态NSInteger stateg2=4;
UITableViewCell*单元格=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
如果(单元格==nil){
cell=[[[UITableViewCell alloc]initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]autorelease];
CGRect帧;
frame.origin.x=10;
frame.origin.y=5;
frame.size.height=35;
frame.size.width=170;
UILabel*capitalLabel=[[UILabel alloc]initWithFrame:frame];
capitalLabel.tag=capitallatag;
[cell.contentView addSubview:capitalLabel];
frame.origin.x+=125;
UILabel*stateLabel=[[UILabel alloc]initWithFrame:frame];
stateLabel.tag=StateTag;
[cell.contentView addSubview:stateLabel];
frame.origin.x+=100;
UILabel*stateLabel1=[[UILabel alloc]initWithFrame:frame];
stateLabel1.tag=StateTag1;
[cell.contentView addSubview:stateLabel1];
frame.origin.x+=100;
UILabel*stateLabel2=[[UILabel alloc]initWithFrame:frame];
stateLabel2.tag=StateTag2;
[cell.contentView addSubview:stateLabel2];
}
UILabel*capitalLabel=(UILabel*)[cell.contentView视图带标记:CapitalTag];
UILabel*stateLabel=(UILabel*)[cell.contentView视图WithTag:StateTag];
UILabel*stateLabel1=(UILabel*)[cell.contentView视图WithTag:StateTag1];
UILabel*stateLabel2=(UILabel*)[cell.contentView视图WithTag:StateTag2];
text=[a objectAtIndex:indexath.row];
stateLabel.text=[b objectAtIndex:indexath.row];
stateLabel1.text=[c objectAtIndex:indexath.row];
stateLabel2.text=[d objectAtIndex:indexath.row];
返回单元;
}
-(iAction)b取消勾选:(id)发件人{
[自我陶醉];
}
-(iAction)btnClicked1:(id)发送方{
[自松器];
}
-(无效)赢家{
arr1=[[NSMutableArray alloc]init];
arr2=[[NSMutableArray alloc]init];
a=[[NSMutableArray alloc]init];
b=[[NSMutableArray alloc]init];
c=[[NSMutableArray alloc]init];
d=[[NSMutableArray alloc]init];
NSURL*url=[NSURL URLWithString:@”http://ipad.idealake.com/default.aspx?id=G"];
NSURLRequest*req=[nsurlRequestRequestWithURL:url];
[webView加载请求:req];
//以字符串形式存储页面数据
mainstr=[[NSMutableString alloc]initwithcontentsofull:url];
atarr=[mainstr componentsSeparatedByString:@“@”];
NSString*str2;
NSString*str3;
对于(int i=0;i如果您的问题是从groupedtableview中删除浅灰色区域,则可以通过将此添加到代码中来删除阴影灰色区域:
if ([myTable respondsToSelector:@selector(backgroundView)]) {
myTable.backgroundView = nil;
}
这是一个只有iPad才有groupedTableViewStyle的问题。首先,为什么要在tableview中写这行两次??[super-viewDidLoad];
其次,我认为您正在将获取数据显示到一个webview
中,该视图位于表视图中。我不明白,如果您是按语法制作表,那么如何使用IBOutlet
将webview
显示到tablevie
我想你可以试试这个[webView setOpaque:NO];
也许它会解决问题。@GAMA:不客气^^我曾经遇到过同样的问题。真烦人,谷歌帮了大忙