在scrollView中实现用户可重定向按钮的最佳方法是什么?

时间:2012-03-06 22:36:55

标签: iphone objective-c uiscrollview uigesturerecognizer uiswitch

目前我正在通过“插槽”进行操作,这些插槽将被分配按钮,这些按钮是从plist中读取的。例如,

switch ([slot1 intValue]) {
            case 1:
                button1 = [wtb twitterButtonType];
                [button1 addGestureRecognizer:twitterButtonTap];
                break;
            case 2:
                button1 = [wtb facebookButtonType];
                [button1 addGestureRecognizer:faceBookButtonTap];
                break;
            case 3:
                button1 = [wtb SMSButtonType];
                [button1 addGestureRecognizer:smsButtonTap];
                break;
            case 4:
                button1 = [wtb phoneButtonType];
                [button1 addGestureRecognizer:instaCallButtonTap];
                break;
            case 5:
                button1 = [wtb cameraButtonType];
                [button1 addGestureRecognizer:cameraButtonTap];
                break;
            case 6:
                button1 = [wtb torchButtonType];
                [button1 addGestureRecognizer:flashButtonTap];
                break;
            case 7:
                button1 = [wtb pastieButtonType];
                [button1 addGestureRecognizer:pastieButtonTap];
                break;
            case 8:
                button1 = [wtb powerButtonType];
                [button1 addGestureRecognizer:powerButtonTap];
                break;
            default:
                button1 = nil;
                allocSlot1 = NO;
                break;
        }

现在我几乎100%肯定这不是这样做的方式,正如你可以想象的那样,在不止一些插槽的情况下,那里的意大利面很快就会失控。所以我的问题是:做我正在尝试的传统方式是什么?

1 个答案:

答案 0 :(得分:0)

我在500px iPad app中编写了一个类似的用户界面 - 滚动视图中的一系列按钮。我发现this tutorial非常有帮助;它描述了如何使用有限数量的视图创建这种“无限”循环滚动视图。

plist似乎有些过分,但如果您希望用户编辑它以控制内容,则可能有意义。我想如果你有动态内容,那可能就是你要走的路。如果它总是相同的按钮,你可以只添加按钮作为实例变量,甚至是一组实例变量。