Iphone 如何将UITableView嵌入UIScrollView?
我制作了一个启用分页(水平滚动)的UIScrollView,我想在UIScrollView中嵌入几个UITableView对象 怎么做?是否有任何示例代码 谢谢。编辑: 您的Iphone 如何将UITableView嵌入UIScrollView?,iphone,ipad,Iphone,Ipad,我制作了一个启用分页(水平滚动)的UIScrollView,我想在UIScrollView中嵌入几个UITableView对象 怎么做?是否有任何示例代码 谢谢。编辑: 您的tableView中可以有很多对象,并且self.tableView.scrollEnabled=YES将提供垂直滚动视图 要获得水平滚动,我建议您为每个视图控制器创建一个tableView,并添加一个UIPageControl,每个页面都表示一个tableView 检查一下 您可以使用本教程进行开发- 下面是一个将两个UI
tableView
中可以有很多对象,并且self.tableView.scrollEnabled=YES
将提供垂直滚动视图
要获得水平滚动,我建议您为每个视图控制器创建一个tableView,并添加一个UIPageControl
,每个页面都表示一个tableView
检查一下
您可以使用本教程进行开发-
下面是一个将两个UITableViewController作为单独页面加载的示例
// .h File
@interface PagingViewController : UIViewController <UIScrollViewDelegate>{
}
-(void)loadPage:(int)page;
@end
// .m File
static NSUInteger kNumberOfPages = 2;
@interface PagingViewController ()
@property(nonatomic,retain)NSMutableArray *viewControllers;
@property(nonatomic,retain)UIView *contentView;
@end
@implementation PagingViewController
@synthesize viewControllers;
@synthesize contentView;
-(id)init{
self = [super init];
if(self) {
NSMutableArray *controllers = [[NSMutableArray alloc] init];
for (unsigned i = 0; i < kNumberOfPages; i++)
{
[controllers addObject:[NSNull null]];
}
self.viewControllers = controllers;
[controllers release];
contentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
self.view = contentView;
[self loadPage:0];
}
return self;
}
- (void)loadPage:(int)page{
if (page < 0)
return;
if (page >= kNumberOfPages)
return;
if(page == 0){
FirstUITableViewController *firstTableVC = [viewControllers objectAtIndex:page];
if ((NSNull *)firstTableVC == [NSNull null]){
firstTableVC = [[FirstUITableViewController alloc] init];
[viewControllers replaceObjectAtIndex:page withObject:firstTableVC];
[firstTableVC release];
}
if (firstTableVC.view.superview == nil)
{
[contentView addSubview:firstTableVC.view];
}
}else if(page == 1){
SecondUITableViewController *secondTableVC = [viewControllers objectAtIndex:page];
if ((NSNull *)secondTableVC == [NSNull null]){
secondTableVC = [[SecondUITableViewController alloc] init];
[viewControllers replaceObjectAtIndex:page withObject:secondTableVC];
[secondTableVC release];
}
if (secondTableVC.view.superview == nil)
{
[contentView addSubview:secondTableVC.view];
}
}
}
/.h文件
@界面分页ViewController:UIViewController{
}
-(无效)加载页:(内部)页;
@结束
//.m文件
静态整数kNumberOfPages=2;
@界面分页视图控制器()
@属性(非原子,保留)NSMUTABLEARRY*viewControllers;
@属性(非原子,保留)UIView*contentView;
@结束
@PagingViewController的实现
@综合视图控制器;
@综合内容视图;
-(id)init{
self=[super init];
如果(自我){
NSMutableArray*控制器=[[NSMutableArray alloc]init];
for(无符号i=0;i=kNumberOfPages)
返回;
如果(第==0页){
FirstUITableViewController*firstTableVC=[ViewController对象索引:页面];
如果((NSNull*)firstTableVC==[NSNull]){
firstTableVC=[[FirstUITableViewController alloc]init];
[viewControllers replaceObjectAtIndex:page with Object:firstTableVC];
[firstTableVC发布];
}
if(firstTableVC.view.superview==nil)
{
[contentView addSubview:firstTableVC.view];
}
}否则如果(第==1页){
SecondUITableViewController*secondTableVC=[viewControllers objectAtIndex:page];
如果((NSNull*)secondTableVC==[NSNull]){
secondTableVC=[[SecondUITableViewController alloc]init];
[viewControllers replaceObjectAtIndex:page with Object:secondTableVC];
[第二次发布];
}
if(secondTableVC.view.superview==nil)
{
[contentView addSubview:secondTableVC.view];
}
}
}
//别忘了解除锁定苹果严格地说是为了避免这种情况。在UIScrolView中使用UITableView。避免的原因是什么?如何复制我想要的?我已经说过UIScrollView是水平滚动的。你说的是垂直滚动。你的回答没有建设性。所以我们假设有3个表视图。您希望它们能够垂直滚动。是否要水平滚动每个tableview?是的。但是,您建议的教程没有讨论UITableView和UIScrollView的组合使用。您编辑的答案仍然毫无建设性。为什么不为每个页面设置UITableViewController?这很简单。给我几分钟:)