【问题标题】:Change label text depending on what Table View Cell was pressed (Storyboard)根据按下的表格视图单元格更改标签文本(故事板)
【发布时间】:2013-02-13 19:55:35
【问题描述】:

我在表格视图中有一些单元格,当按下这些单元格时会导致视图控制器具有我想要更改的标签。

示例:我有代表美国最大城市的单元格,我按下洛杉矶,然后我被发送到视图控制器,其中的标签更改为代表洛杉矶的数字。如果我返回并按 New York,标签现在会显示一个代表 New York 的数字。

我猜我会给出标签和单元格标识符,然后做一些 if/else if。

类似这样的:

"if 'newyorkcell' isPressed setText 'numbercell' = "12345";"

但是使用真实的代码。

提前致谢!

【问题讨论】:

    标签: iphone xcode storyboard


    【解决方案1】:

    为此,您必须在视图控制器头文件中公开您的标签:

    @interface YourViewController : UIViewController
    
    @property (weak, nonatomic) IBOutlet UILabel *yourLabel;
    
    @end
    

    然后你可以通过 didSelectRow 设置标签文本,为此你必须给你的细节视图控制器一个故事板 ID(在故事板中)才能在代码中访问它:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        ViewController *detailViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"VC"];
    
        detailViewController.yourLabel.text = [self.yourArray objectAtIndex:indexPath.row];
    
        [self.navigationController presentViewController:detailViewController animated:YES completion:nil];
    }
    

    您可以使用数组或其他包含所有数据并使用其索引访问它的东西,而不是使用 if/elses。

    【讨论】:

    • 这行不通。 yourLabel 出口尚未在 prepareForSegue 中设置。
    • Thx,你说得对,我忘了这一点。刚刚修改了答案并将所有内容放在应该工作的 didSelectRow 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 2012-09-26
    • 1970-01-01
    相关资源
    最近更新 更多