我正在制作一个具有四组非常相似的数据的新应用程序。我想让四个 UIButtons 导航到一个带有四个 UITableViews 的 UITabBar。我不想制作四个按钮来推动四组表格视图。我认为用 13 个 UIView 制作一个应用程序会使它变得比它需要的更大。所以,我必须弄清楚如何让 UIButton 动作改变表格接收到的数据。我正在积极开展这个项目。任何的意见都将会有帮助。谢谢你。
问问题
139 次
2 回答
1
为了更改表视图数据源,您需要更改从表委托上的 numberOfRowsInSection 返回的内容。我这样做的一种方法是使用枚举来表示我要使用的数据集,并有一个局部变量来保存选择的数据
typedef enum
{
DataSetOne,
DataSetTwo
} DataSetEnum
@property(nonatomic, retain) DataSetEnum dataset;
@property(nonatomic, retain) NSArray *datasetone;
@property(nonatomic, retain) NSArray *datasettwo;
- (void) viewDidLoad
{
dataset = DataSetOne;
}
- (IBAction) buttonPressed
{
dataset = DataSetTwo;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(dataset == DataSetOne)
{
return [self.datasetone count];
}
else if(dataset == DataSetTwo)
{
return [self.datasettwo count];
}
}
然后在 cellForRowAtIndexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(dataset == DataSetOne)
{
//configure cell
}
}
于 2011-03-31T17:37:14.900 回答
0
如果您的数据相似,您可以从每个按钮的IBAction
变量中设置一个数据:
NSArray* data = ...
然后在您的按钮方法中:
-(IBAction*)clickedButton1:(id)sender {
data = [self getButton1Data]
[self reloadAll]
}
于 2011-03-31T17:40:50.903 回答