【发布时间】:2017-06-01 01:51:48
【问题描述】:
`
"BeneficieryListViewController.h"
@protocol BeneficieryListViewControllerDelegate <NSObject>
-(void)shiftTabLocation:(CGFloat)tabValue;
@end
@interface BeneficieriesListViewController : UIViewController
@property (weak, nonatomic) id<BeneficieryListViewControllerDelegate> myDelegate;
@end
"BeneficieryListViewController.m"
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(self.myDelegate && [self.myDelegate respondsToSelector:@selector(shiftTabLocation:)])
{
[self.myDelegate shiftTabLocation:2.0];
}
}
"MainViewController.m"
-(void)shiftTabLocation:(CGFloat)tabValue
{
BeneficieriesListViewController *bvc = [[BeneficieriesListViewController alloc] init];
bvc.myDelegate = self;
[self selectTabAtIndex:tabValue didSwipe:YES];
}
`我必须创建水平滚动 UIViewControllers 包含 4 个选项卡,并且在每个选项卡的选择上应该显示不同的 UIView。为此,我使用库并创建了一个 UIViewController 作为该库“ViewPagerController”的子类。而且,我创建了一个 NSMutableArray,其中包含 4 个 UIViewControllers,我在每个选项卡的选择中将它们作为 UIView 传递。
一个 UIViewController 有 UITableView,我现在要做的是 - 在选择 UITableViewCell(在第一个 UIViewController 内)时,标签栏应该改变它的位置并根据条件转移到另一个标签。
我尝试使用委托来调用主视图控制器的方法,但它不起作用,我也尝试直接指定主视图控制器的对象并调用它的方法,但它不起作用。
请帮我解决这个问题,我被困了很多天。 提前感谢您查看问题。
【问题讨论】:
-
请在主类中展示tableview、delegate和delegate listener的代码。
-
是的,我连同代码一起更新了它。
标签: ios objective-c iphone uitableview uiviewcontroller