在iOS中支持交互式样机原型的最简单方法是?

| 我有40张图像,代表iOS应用程序的屏幕模型。我将每个全屏显示为
UIImageView
。我想支持通过每个屏幕上的按钮从1-40进行导航。我将在要支持此导航的位置添加透明的ѭ1。按钮在每个屏幕上的位置将不同。 我唯一的选择是创建40个笔尖并在需要这些按钮的地方手工绘制吗?我在这里错过一些基础课程的机会吗?我的图像可以预见地命名,因此我计划在基类中使用简单的导航方法。     
已邀请:
我会做这样的事情:拥有一个UIImageView和一个视图控制器。视图控制器具有一个NSArray,例如
buttonsOnPage
。在数组内部,您将存储更多的NSArrays存储按钮。这些按钮都指向同一动作,例如
buttonPressed:
。请记住,您可以分配ѭ4,,可以使用它们来确定要转到哪个“页面”。由于加载图片似乎很简单,因此我在这里跳过了。 这是一些伪代码:
- (void)initButtons
{
    NSMutableArray *page;
    UIButton *button;

    buttonsOnPage = [[NSMutableArray alloc] init];

    // Page 0
    page = [NSMutableArray array];

    button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button addTarget:self action:@selector(buttonPressed:) forControlEvent:UIEventTouchUpInside];
    [button setTag:5]; // When pressed, go to page 5.
    [button setFrame:...];
    [page addObject:button];
    ...
    [buttonsOnPage addObject:page];

    ...
}

- (void)setUpPage:(NSUInteger)page
{
    // Remove all previous buttons
    for (UIView *view in [myImageView subviews]) {
        [view removeFromSuperview];
    }

    for (UIButton *button in [buttonsOnPage objectAtIndex:page]) {
       [myImageView addSubview:button];
    }

    // Also set the correct image.
}


- (void)buttonPressed:(id)sender
{
    [self setUpPage:[(UIView *)sender tag]];
}
通过定义宏,可以使按钮设置方法的输入更加容易/快捷:
#define NEW_BUTTON(page, x, y, width, height) \\
    do {
        button = [UIButton buttonWithType:UIButtonTypeCustom]; \\
        [button addTarget:self action:@selector(buttonPressed:) forControlEvent:UIEventTouchUpInside];\\
        [button setTag:page]; \\
        [button setFrame:CGRectMake(x, y, width, height)]; \\
        [page addObject:button];
    } while (0);
然后,它很快就会完成:
// Page 0
page = [NSMutableArray array];
NEW_BUTTON(1, 10, 20, 20, 20);
NEW_BUTTON(2, 10, 60, 20, 20);
[buttonsOnPage addObject:page];

// Page 1
page = [NSMutableArray array];
NEW_BUTTON(3, 70, 20, 20, 20);
NEW_BUTTON(4, 10, 160, 20, 20);
[buttonsOnPage addObject:page];

...
    

要回复问题请先登录注册