iPhone 桌面视图 - 初学者

发布于 2024-12-04 07:39:23 字数 380 浏览 0 评论 0原文

我有一个带有 buttonlabel 的视图。现在,当我单击该按钮时,我将被带到另一个页面(视图),该页面显示一个 Tableview ,其中填充了一些值。

我已经成功编码了 buttonlabel 视图,以及 tableview 的填充部分。

现在我需要做的是,当我在tableview中单击一个项目或一行时,该值应该显示在上一页上(包含一个按钮和一个标签)。我该怎么做?有什么想法吗?

注意:我无法提供任何代码,因为我在我的 Linux 机器上:(

I have a view with a button and a label on it. Now when I click on that button, I will be taken to another page (view) that displays a Tableview with some values populated in it.

I have successfully coded the button and the label view, and also the populating part of the tableview.

Now what I need to do is, when I click on an item or a row, in the tableview, that value should be shown on the previous page (that contained a button and a label). How should I do this? Any idea?

Note: I can't provide any code, because I am on my Linux machine :(

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

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

发布评论

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

评论(2

此生挚爱伱 2024-12-11 07:39:23

也许最好的解决方案是编写协议。

myProtocol.h

@protocol myProtocol

-(void) didSelectItem: (id) yourItem;

@end

然后,在包含 tableView 的 viewController 的接口文件中:

@interface MyViewController : UIViewController {
    id <myProtocol> selectionDelegate;
}

@property (nonatomic, assign)  id <myProtocol> selectionDelegate;

在 .m 文件中:

 @synthesize selectionDelegate;



- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    //do something with your data and pass it to the delegate.
    [self.selectionDelegate didSelectItem:myObject];
[self.navigationController popViewControllerAnimated:YES];

}

包含按钮和标签的 viewController 必须实现您的委托:

在 .h 中:

@interface OtherViewController : UIViewController <myProtocol>  {


...

}

在 .m 文件中: m:

-(void) didSelectItem: (id) yourItem
{
    //do something with your item, set the label and everything...

}

在代码的某些部分,您必须设置委托

希望这有帮助

Maybe the best solution is coding a protocol.

In myProtocol.h

@protocol myProtocol

-(void) didSelectItem: (id) yourItem;

@end

Then, in the interface file of the viewController that contains your tableView:

@interface MyViewController : UIViewController {
    id <myProtocol> selectionDelegate;
}

@property (nonatomic, assign)  id <myProtocol> selectionDelegate;

In .m file:

 @synthesize selectionDelegate;



- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    //do something with your data and pass it to the delegate.
    [self.selectionDelegate didSelectItem:myObject];
[self.navigationController popViewControllerAnimated:YES];

}

The viewController that contains the button and the label must implement your delegate:

In .h:

@interface OtherViewController : UIViewController <myProtocol>  {


...

}

In .m:

-(void) didSelectItem: (id) yourItem
{
    //do something with your item, set the label and everything...

}

In some part of your code you will have to set the delegate

Hope this helps

阳光的暖冬 2024-12-11 07:39:23

如果您只是想返回到之前的视图,如果您一直在使用 UINavigationController 来推送表视图控制器,那么应​​该有一个后退按钮可以让您返回。如果您需要对特定单元格的点击做出反应,请重写 tableView:didSelectRowAtIndexPath: 方法。

If you are just trying to go back to your previous view, if you've been using a UINavigationController to push your table view controller then there should be a back button to get you back. If you need to react to the tapping of a specific cell, override the tableView:didSelectRowAtIndexPath: method.

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