单点触控在横向模式和纵向模式下旋转

发布于 2025-01-07 14:40:04 字数 1205 浏览 0 评论 0原文

我是 iPad 开发人员的新手,

我已经使用 Xcode 4. 在 Objective C 中创建了两个或三个 iPad 应用程序。

但现在我想创建 < code>iPad 应用程序使用 C# 语言中的 Monodeveloper 工具...

其中,我想在 orientation 中移动我的 tableView,

我在谷歌搜索但没有任何语法。

有关详细信息,请参阅我的屏幕截图...

在第一张图片(纵向模式)中,我的桌子位于 ExtremeLeft ,在第二张图片(横向模式)中,我希望我的桌子位于最右边。.

屏幕截图 我应该怎么做?

我以编程方式创建了表格视图,这里是代码片段,

public override void ViewDidLoad ()
        {
            base.ViewDidLoad ();
            Gainer();   //method call
                UITableView Table=new UITableView();
            Table.Frame=new RectangleF(20,200,400,400);
            Table.Source=new TableViewDataSource(TopGainer); //passing parameter to tableview datasource 
            this.View.AddSubview(Table);


        }

public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
        {
            // Return true for supported orientations
            return true;
        }

任何帮助将不胜感激。

提前致谢!!

i am new to iPad developer,

i have created two or three iPad application in objective c using Xcode 4.

but now i want to create iPad application using Monodeveloper tool in C# language...

in which, i want to shift my tableView in orientation,

i searched in google but i didn't got any syntax.

for detail see my screen shot...

in first image (portrait mode) my Table is at extremeLeft , in second image (landscape mode) i want my table to be at extreme right..

screenshot
how should i do this ?

i created tableview programatically, here is the code snippet,

public override void ViewDidLoad ()
        {
            base.ViewDidLoad ();
            Gainer();   //method call
                UITableView Table=new UITableView();
            Table.Frame=new RectangleF(20,200,400,400);
            Table.Source=new TableViewDataSource(TopGainer); //passing parameter to tableview datasource 
            this.View.AddSubview(Table);


        }

public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
        {
            // Return true for supported orientations
            return true;
        }

Any help will be appreciated.

Thanks In Advance !!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

み零 2025-01-14 14:40:04

您可以重写 WillRotate 方法,并根据 UIScreen.MainScreen 提供的值在每种情况下应用您想要的确切位置。例如

    public override void WillRotate (UIInterfaceOrientation toInterfaceOrientation, double duration)
    {
        switch (toInterfaceOrientation) {
        case UIInterfaceOrientation.LandscapeLeft:
        case UIInterfaceOrientation.LandscapeRight:
            Table.Frame = new RectangleF (UIScreen.MainScreen.Bounds.Width - 20 - Table.Frame.Width, 200, 400, 400);
            break;
        case UIInterfaceOrientation.Portrait:
        case UIInterfaceOrientation.PortraitUpsideDown:
            Table.Frame = new RectangleF (20, 200, 400, 400);
            break;
        }
        base.WillRotate (toInterfaceOrientation, duration);
    }

You can override the WillRotate method and apply the exact position you want, in every case, based on the values that UIScreen.MainScreen provides. E.g.

    public override void WillRotate (UIInterfaceOrientation toInterfaceOrientation, double duration)
    {
        switch (toInterfaceOrientation) {
        case UIInterfaceOrientation.LandscapeLeft:
        case UIInterfaceOrientation.LandscapeRight:
            Table.Frame = new RectangleF (UIScreen.MainScreen.Bounds.Width - 20 - Table.Frame.Width, 200, 400, 400);
            break;
        case UIInterfaceOrientation.Portrait:
        case UIInterfaceOrientation.PortraitUpsideDown:
            Table.Frame = new RectangleF (20, 200, 400, 400);
            break;
        }
        base.WillRotate (toInterfaceOrientation, duration);
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文