我开发了一个应用程序,我正在其中使用它:BTSimpleSideMenu
在我的应用程序中,我通过以下方式传递单元格标签
:
-(void)show{
sideMenu.delegate = self;
int count;
count = [rssOutputData count];
for (int i = 0; i < count; i++){
NSString *items = [[rssOutputData objectAtIndex:i]xmltitle];
BTSimpleMenuItem *item = [[BTSimpleMenuItem alloc]initWithTitle:[[rssOutputData objectAtIndex:i]xmltitle] image:[UIImage imageNamed:@"arrow.png"]
onCompletion:^(BOOL success, BTSimpleMenuItem *item) {
catLbl.text = [[rssOutputData objectAtIndex:i]xmltitle];
}];
sideMenu = [[BTSimpleSideMenu alloc]initWithItem:@[item] addToViewController:self];
}
[sideMenu toggleMenu];
}
在此代码中[[rssOutputData objectAtIndex:i]xmltitle]
实际上是我从XML文件解析的数据。我总共有 5 个条目,我想在侧面菜单中显示它们,但不幸的是,通过这种方式,菜单只显示最后一个条目,而且只显示一行。
我知道这可能是因为它覆盖了第一个单元格上的条目。
请查看上面给出的链接并帮助我解决这个问题。
最佳答案
此代码将解决您在每次迭代中创建 BtSimplemenuitem 和 BTSimplesidemmenu 的问题,因此它会产生很多侧边菜单,只需更改您的代码即可
-(void)show
{
sideMenu.delegate = self;
int count;
NSMutableArray *itemsArry = [[NSMutableArray alloc] init];
count = [rssOutputData count];
for (int i = 0; i < count; i++){
NSString *items = [[rssOutputData objectAtIndex:i]xmltitle];
BTSimpleMenuItem *item = [[BTSimpleMenuItem alloc]initWithTitle:[[rssOutputData objectAtIndex:i]xmltitle] image:[UIImage imageNamed:@"arrow.png"]
onCompletion:^(BOOL success, BTSimpleMenuItem *item) {
catLbl.text = [[rssOutputData objectAtIndex:i]xmltitle];
}];
[itemsArry addObject:item];
}
NSArray *itemSarry=[[NSArray alloc] initWithArray:itemsArry];
sideMenu = [[BTSimpleSideMenu alloc]initWithItem:itemSarry addToViewController:self];
[sideMenu toggleMenu];
}
关于ios - 将数据传递给 BTsidemenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28109045/