Чтобы ответить на ваши проблемы необходимо выполнить следующие 4 шага:
1) создать UIViewController с Interface Builder
2) Внутри этого ViewController добавить UIScrollView и UIPageController
3) Внутри ScrollView вы можете разместить все виды, которые вам нужны (Tableviews в вашем случае) ...
4) Как я вижу, вы хотите разместить 3 вида таблиц ... так что добавьте 3 таблицы.
После этих шагов, вы можете легко с помощью следующего кода настроить ScrollView и UIPageController:
в ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource,UIScrollViewDelegate>
{
IBOutlet UITableView *tableview1;
IBOutlet UITableView *tableview2;
IBOutlet UITableView *tableview1;
IBOutlet UIBarButtonItem*SideBar;
IBOutlet UIScrollView*scrool;
IBOutlet UIPageControl*PageControl;
}
-(IBAction)ChangeView:(id)sender;
@end
Теперь, когда мы уже Config в заголовок мы можем перейти к ViewController.m файл, в котором мы будем настройка меню UIScrollView, UIpagecontroller и различные tableviews:
- (void)viewDidLoad {
//Here we Config the PageControl that we declared in .h to do the function ChangeViews.
[pageControl addTarget:self action:@selector(ChangeViews:) forControlEvents:UIControlEventValueChanged];
[super viewDidLoad];
}
Для ScrollViewDelegate:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[scrool setScrollEnabled:YES];
[scrool setContentSize:CGSizeMake(scrool.frame.size.width*3
,scrool.frame.size.height)];
}
- (IBAction)ChangePage:(id)sender {
CGFloat x = PageControl.currentPage * scrool.frame.size.width;
[scrool setContentOffset:CGPointMake(x, 0) animated:YES];
}
-(void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
NSInteger pageNumber = roundf(scrool.contentOffset.x/(scrool.frame.size.width));
PageControl.currentPage = pageNumber;
}
После выполнения этих шагов необходимо конфиг различных Tableviews ... Я рекомендую вам установить различные метки для трех tableviews (а: tableview1.tag = 1 .... и т.д.), то в разных фазах от установки Tableview объявить об этом:
Пример:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
int x;
if(tableview.tag ==1){
x= 10;
}else if(tableview.tag == 2){
x= 3;
}else if(tableview.tag ==3){
x = 4
}
return x;
}
Надеется, что это помогает
Когда вы говорите, добавить 2 tableViews, как они должны добавлять в scrollv iew o раскадровка? рядом друг с другом, друг на друга? – nickjf89