【问题标题】:Press UIImage to open new view controller按 UIImage 打开新的视图控制器
【发布时间】:2014-11-26 10:13:44
【问题描述】:

我有以下代码,想在按下图像 1,2 或 3 时打开特定的视图控制器。请您提供一个示例代码来完成此操作。谢谢

UIImage *startImage = [UIImage imageNamed:@"start"];
    UIImage *image1 = [UIImage imageNamed:@"icon-demo1"];
    UIImage *image2 = [UIImage imageNamed:@"icon-demo2"];
    UIImage *image3 = [UIImage imageNamed:@"icon-demo3"];
    NSArray *images = @[image1, image2, image3];
    SphereMenu *sphereMenu = [[SphereMenu alloc] initWithStartPoint:CGPointMake(160, 320)
                                                         startImage:startImage
                                                      submenuImages:images];

【问题讨论】:

  • 您是在一个图像视图中还是在 3 个不同的图像视图中显示这些图像?
  • 嗨,我正在尝试将此控件用作我的主导航菜单github.com/itouch2/SphereMenu 我不确定。它是以编程方式完成的,而不是故事板
  • 为什么不使用按钮,只在按钮上设置图像?

标签: ios objective-c xcode ipad uiimage


【解决方案1】:

你应该实现SphereMenuDelegate协议和
- (void)sphereDidSelected:(int)index;方法

      sphereMenu.delegate = self;    

//...
- (void)sphereDidSelected:(int)index
{
    switch (index) {
        case 0:
            // image1 selected
            break;
        case 1:
            // image2 selected
            break;
        case 2:
            // image3 selected
            break;
    }
}

【讨论】:

    【解决方案2】:

    只需在 ViewController 上拖动三个按钮(在故事板中)为按钮设置图像。 将三个按钮的 segue 拖放到三个 ViewControllers。

    【讨论】:

    • 有一个开始图像,一旦按下它就会再拍出 3 张图像,我希望能够按下以转到新的视图控制器github.com/itouch2/SphereMenu
    【解决方案3】:

    实现SphereMenuDelegate delegate 并复制该方法

      func sphereDidSelected(index: Int) {
        println("image Clicked")
      }
    

    您将在该图像上获得click event

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      相关资源
      最近更新 更多