ios - 如何从 iCarousel 中的按钮创建到另一个 View 的 segue

标签 ios button segue icarousel

我正在使用显示一些按钮的 iCarousel。但是,如何在点击按钮时转到另一个 View ?

我已经有了这个代码:

    - (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
    {
        return 10;
    }

    - (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
    {
        UIButton *button = (UIButton *)view;
        if (button == nil)
        {
            UIImage *image = [UIImage imageNamed:@"page.png"];
            button = [UIButton buttonWithType:UIButtonTypeCustom];
            button.frame = CGRectMake(0.0f, 0.0f, image.size.width, image.size.height);
            [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
            [button setBackgroundImage:image forState:UIControlStateNormal];
            button.titleLabel.font = [button.titleLabel.font fontWithSize:50];
            [button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
        }

        return button;
    }

  - (void)buttonTapped:(UIButton *)sender
    {
        NSInteger index = [carousel indexOfItemViewOrSubview:sender];

        //Action
    }

点击按钮时如何进入另一个 View ?我也可以在这里使用 prepareForSegue 方法吗?

感谢您的帮助!

最佳答案

当然,您只需从第一个 viewController 拖动并创建一个 segue 到第二个,然后将其命名为“segue0”。

-(void)buttonTapped:(UIButton*)sender
{
    NSInteger *index = [carousel indexOfItemViewOrSubview:sender];
    if(index = 0)
    {
        [self performSegueWithIdentifier:@"segue0", sender:self];
    }    
    //else if etc.., or better yet, ditch the if, do the checking in 'prepare' as explained below
}

-(void)prepareForSegue:(UIStoryboardSegue*) segue sender:(id)sender
{
    YourNextViewController *nextView = [segue destinationViewController];
    //Do stuff to your next view with "nextView"

}

如果它们都进入同一个 viewController,但通过在 prepareForSegue 中发送不同的数据,那么您可以放弃 if 语句,并发送 sender 而不是 self 作为 [self performSegue..] 中的发件人,并检查 prepareForSegue.. 哪个按钮是发件人(或移动您的 NSInteger *index... 行在这里)

关于ios - 如何从 iCarousel 中的按钮创建到另一个 View 的 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082183/

相关文章:

ios - nib 但没有使用 PFQueryTableViewController 获得 UITableView

ios - 实例化 Controller 时准备 segue 崩溃

ios - 准备 segue 不允许我设置下一个 viewController 的 NSString

ios - 完成社交分享后开始Segue

ios - 在 Xcode 中引用组或文件夹中的所有文件

ios - 细化 Swift API GET 函数

ios - Swift UIWebView 初始缩放比例

jquery - href# 移动滚动位置

java - 是否有像 Chrome 中那样的 "compound menu item"的 Java/Swing 实现?

android - 按下后退按钮时Android崩溃