- (void)loadView
{
UIView *v = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view = v;
v.backgroundColor = [UIColor blackColor];
CGRect frame1 = CGRectMake(-masterWidth, 0, masterWidth, self.view.bounds.size.height);
CGRect frame2 = self.view.bounds;
mvc.view.frame = frame1;
dvc.view.frame = frame2;
[v addSubview:mvc.view];
[v addSubview:dvc.view];
UIPanGestureRecognizer *p = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
[self.view addGestureRecognizer:p];
}
- (void)pan:(UIPanGestureRecognizer *)p
{
UIView *v = p.view;
if (p.state == UIGestureRecognizerStateBegan ||
p.state == UIGestureRecognizerStateChanged) {
CGPoint delta = [p translationInView:v.superview];
if (delta.y != 0) {
masterIsTendtoShow = (delta.y > 0) ? YES : NO;
}
[self moveMasterAndDetailViewOffsetToRight:delta.y];
[p setTranslation:CGPointZero inView:v.superview];
}
else if (p.state == UIGestureRecognizerStateEnded) {
[self showMaster:masterIsTendtoShow withAnimated:YES];
}
}
Master-Detail 视图的实现, 左右滑动显示隐藏Master视图
最新推荐文章于 2021-05-27 14:45:40 发布