【问题标题】:Custom View replace a TableView in landscape mode自定义视图替换横向模式下的 TableView
【发布时间】:2012-06-25 08:38:04
【问题描述】:

我正在开发一个带有纵向模式小表格视图的 iOS 应用程序。我希望这个视图在横向模式下变得完全不同。我还没有编写代码,但是类似于http://www.vertex42.com/ExcelArticles/Images/timeline/Timeline-for-Benjamin-Franklin.gif(它将在滚动视图中)

我已经读过类似的内容:“Trying to load new view upon orientation change”,但由于我的纵向视图是 UITableView,我不知道如何设置纵向视图...

我正在使用由 AppDelegate 启动的 UITableViewController 子类。

感谢您的回答,对不起我的英语不好......

编辑:解决方案:您必须创建一个具有两个视图的自定义 UIViewController,这两个视图将是 tableView 的委托和数据源。然后在 - (BOOL)shouldAutorateTo.... 你设置“隐藏”属性来做你想做的事。

/!\别忘了初始化你的tableView属性并设置它的委托和数据源属性

【问题讨论】:

    标签: ios uitableview landscape custom-view


    【解决方案1】:

    如果您想要更大的灵活性,请取出UITableViewController,并在里面放一个UIViewController 和一个UITableView。至于旋转,我可能会在旋转时将UITableView 切换为UIScrollView

    【讨论】:

    • 感谢您的快速回答,我已经学会了使用 BNR 指南进行开发(我们将数据源、委托放在同一个文件中)所以我还没有学习它,有什么地方吗有关此替代方法的文档?我想我必须设置这个 UIViewController 以符合 UITableViewDelegate 和 DataSource 协议。这是真的吗?是否可以创建一个控制器层次结构,其中一个用于横向,一个用于纵向(我不必调整我的实际 TableViewController...)
    • 我没有说你必须将UITableViewDataSourceUITableViewDelegate分开......是的,你必须遵守这些协议。老实说,我认为您现在应该这样做,这样您将来可以拥有更大的灵活性。
    • 好的,我会做的。非常感谢。我很惊讶我收到回复的速度如此之快!
    • 如果您需要具体帮助,请告诉我。获得 UIViewControllerin 后,您可以使用 Omar 回答。
    • 我做到了!谢谢大家!我结合了你的答案。我创建了一个使用 tableView 和 customView 的自定义 ViewController 并使用 Omar 的方法设置隐藏。谢谢你们!
    【解决方案2】:

    您可以将滚动视图添加为 self.view 的子项,然后在您的 ViewController 中执行此操作

    - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
    {
        if (UIDeviceOrientationIsLandscape(toInterfaceOrientation)) {
            tableView.hidden = YES;
            scrollView.hidden = NO;
        }
        else {
            tableView.hidden = NO;
            scrollView.hidden = YES;
        }
    }
    

    【讨论】:

    • 好的,我现在试试这个!感谢你们两位的快速回复!你知道如何获得我的纵向视图吗?你命名为“tableView”的那个我用 self.tableView 试过,但它给了我一个白屏......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多