我试图实现滑动,以查看功能,就像Twitter的时刻:如何滑动以查看维护导航栏项目?
如果你看看上面,你会看到意见的水平滑块。我的要求有点不同...在水平滑块的顶部,我需要每个页面的自定义项目的常规导航栏。
刷卡查看我实施了一些小错误。请看看这个视频(这是我到目前为止已经完成):
正如你可以看到刷卡的观点功能是工作,但我仍然缺少一些重要的事情,即:
- 当滑动到它向上滚动下一个视图(看到视频)
- 我的意见都包含在导航控制器各自的导航栏项目。我看到它的方式,我需要像
PushViewController
没有后退按钮,但这将工作在两个方向......我有点在这里丢失如果我添加导航控制器而不是视图它显示栏,但低于当前现有的,而不是替代它。
关于如何解决这些问题的任何想法?
我使用Xamarin.iOS发展,但如果你能使用SWIFT提供一个例子,我想我可以尝试把这种:)
这是我到目前为止有:
var viewController = Storyboard.InstantiateViewController("detailClaimViewController") as DetailClaimViewController;
viewController.ClaimId = ClaimId;
AddChildViewController(viewController);
ScrollView.AddSubview(viewController.View);
viewController.DidMoveToParentViewController(this);
var sumsInsController = Storyboard.InstantiateViewController("sumsInsuredListViewController")
as SumsInsuredListViewController;
var sumsInsuredFrame = sumsInsController.View.Frame;
sumsInsuredFrame.X = View.Frame.Size.Width;
sumsInsController.View.Frame = sumsInsuredFrame;
sumsInsController.ClaimId = ClaimId;
sumsInsController.Title = $"Sums insured for {Title}";
AddChildViewController(sumsInsController);
ScrollView.AddSubview(sumsInsController.View);
sumsInsController.DidMoveToParentViewController(this);
ScrollView.ContentSize = new CGSize(View.Frame.Size.Width * 2, View.Frame.Size.Height - 49);
这是我“需要”工作的代码,因为它加载了导航栏和那个自定义导航栏项目(正如我所说的那样“有效”,但它显示了标准导航栏下方的正确导航栏,它不会显示' t代替它):
var viewController = Storyboard.InstantiateViewController("detailClaimViewController") as DetailClaimViewController;
viewController.ClaimId = ClaimId;
AddChildViewController(viewController);
ScrollView.AddSubview(viewController.View);
viewController.DidMoveToParentViewController(this);
var navController = new UINavigationController();
var sumsInsController = Storyboard.InstantiateViewController("sumsInsuredListViewController")
as SumsInsuredListViewController;
var sumsInsuredFrame = sumsInsController.View.Frame;
sumsInsuredFrame.X = View.Frame.Size.Width;
sumsInsController.View.Frame = sumsInsuredFrame;
sumsInsController.ClaimId = ClaimId;
sumsInsController.Title = $"Sums insured for {Title}";
navController.AddChildViewController(sumsInsController);
AddChildViewController(navController);
ScrollView.AddSubview(navController.View);
navController.DidMoveToParentViewController(this);
ScrollView.ContentSize = new CGSize(View.Frame.Size.Width * 2, View.Frame.Size.Height - 49);
谢谢!
Gianluca,谢谢你的回答。你愿意扩展吗?也许有一个例子?谢谢 – eestein
对不起,答案不是很清楚......我会编辑......给我一秒钟。 –
没问题,再次感谢:) – eestein