0

我的应用程序中的视图上有一个 UIScrollView 和一个 UIPageControl。滚动视图包含 2 个视图控制器(page1 和 page2),每个页面都在一个单独的类中进行管理,并具有一个按钮列表。

我的问题是,例如,当我在 page1 的一个按钮内触摸时,我想打开一个新的控制器,并且新的 viewcontroller 显示为 scrollview 的子视图(是新的 page1),因此正在显示 pagecontrol 和 page2卷轴仍然有效。

这很正常,因为我在 page1 代码中执行此操作:

void HandleTouchUpInside (object sender, EventArgs e)
{
    MyNewController mnc = new MyNewController();
    this.View.AddSubview(mnc.View);
}

所以我的问题是..

如何设置被调用的控制器以填充屏幕?是否可以用从子视图调用的视图填充屏幕?

编辑:

这是第1页 这是作为 page1 的新控制器,而不是作为填充屏幕的新视图控制器

谢谢

4

2 回答 2

1

使用故事板

我会推荐使用 StoryBoard 编辑器来设计你的 UI。按住 Control 从您的按钮拖动到您的 MyNewController。为 Action Segue 选择模态。

使用代码

void HandleTouchUpInside (object sender, EventArgs e)
{
    bool animated = true;
    NSAction completionHandler = null;
    MyNewController mnc = new MyNewController();
    PresentViewController(mnc, animated, completionHandler);
}

解雇

在任何一种情况下,当您想要关闭DismissViewController来自 MyNewController 的模态视图调用时。

bool animated = true;
NSAction completionHandler = null;
DismissViewController(animated, completionHandler);
于 2013-02-20T16:49:56.957 回答
0

最后,我解决了从我的应用程序委托调用顶部导航控制器的问题。

    void HandleTouchUpInside (object sender, EventArgs e)
    {
        Clases viewClases = new Clases();

        AppDelegate del = (AppDelegate)UIApplication.SharedApplication.Delegate;
        del._navController.SetNavigationBarHidden(false, true);
        del._navController.PushViewController(viewClases, false);

    }

有关此 链接的更多信息

于 2013-02-22T09:39:51.183 回答