从 UITableView 内部推送 UIViewController

发布于 2024-10-01 05:00:46 字数 321 浏览 6 评论 0原文

嘿大家, 我有一个分段控制器,它显示一个包含 UITableView 的框架(cgrectmake)UIview。

我添加SubView 来显示表格视图,这很好。但在 didselect 方法的表视图中,我想推送一个不同的视图控制器。

但是当我这样做时它没有出现,它确实注册了触摸等。如果我添加子视图它确实会显示,但我需要真正推动这个视图。因此要填充屏幕,而不是新视图仅显示在包含表视图的 UIView 内。

我尝试通过推动表格视图,然后推动后续视图,最终的视图显示完美,但我需要将表格视图包含在屏幕上的框架中。

有什么建议可以尝试吗?

迈克尔.

Hey all,
I have a Segmented Controller which displays a framed(cgrectmake) UIview containing a UITableView.

I addSubView to display the tableview and this is fine. But inside the tableview in didselect method i want to push a different viewcontroller.

But it fails to appear when i do this, it does register the touch etc. It does display if i addsubview, but i need to really push this view. so to fill the screen rather then the new view only being displayed inside the UIView containing the tableview.

I experimented by pushing the tableview and then pushing the subsequent view, and this final view displayed perfectly, but i need the tableview to be contained in a frame on the screen.

Any suggestions to try?

Michael.

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

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

发布评论

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

评论(2

尬尬 2024-10-08 05:00:46

您能用一些代码来澄清您尝试过的内容吗?您提到了关于推送表视图和后续视图的实验,但视图没有被推送,只有视图控制器。只是想确保这不是您想要做的。

您还提到它注册触摸...

如果设置正确,您的 tableview 将位于其自己的 viewController 的视图中。确保 viewController 类符合 UITableViewDelegate。 (或者您决定为 UITableView 设置委托属性的任何类)

即在 myViewControllerClass.h 中:

@interface myViewControllerClass <UITableViewDelegate>

作为您的 UITableView 委托的类还必须实现以下委托方法:

- (void)tableView:(UITableView *)inTableView didSelectRowAtIndexPath:(NSIndexPath *)inIndexPath

在选择行时将调用此方法表格视图。在这里,您决定将另一个 viewController 推入第一个 viewController 的视图中。

Can you clarify what you've tried maybe with some code? You mentioned your experiment about pushing the tableview and a subsequent view, but views aren't pushed, only viewcontrollers. Just want to make sure that's not what you're trying to do.

You also mentioned it registering for touch...

If things are setup correctly, your tableview is in the view of its own viewController. Make sure that viewController class conforms to UITableViewDelegate. (Or whatever class you decide to set the delegate property to for a UITableView)

i.e. in the myViewControllerClass.h:

@interface myViewControllerClass <UITableViewDelegate>

The class which is your UITableView delegate must also implement the following delegate method:

- (void)tableView:(UITableView *)inTableView didSelectRowAtIndexPath:(NSIndexPath *)inIndexPath

This method will be called upon a row being selected in the tableview. This is where you decide to push another viewController into view onto your first viewController.

︶ ̄淡然 2024-10-08 05:00:46

如果您将 tableView 添加为子视图,您是否记得将委托设置为与调用 didSelectRowAtIndexPath 相同的对象?

您还需要确保该对象是 UITableViewDelegate

if you add the tableView as a subview have you remembered to set the delegate to the same object as you're calling didSelectRowAtIndexPath?

You also need to make sure this object is a UITableViewDelegate

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文