第三个和其他连续的 UIButtons 不会出现在 UIScrollView

Posted

技术标签:

【中文标题】第三个和其他连续的 UIButtons 不会出现在 UIScrollView【英文标题】:Third and other consecutive UIButtons won't appear in the UIScrollView 【发布时间】:2011-06-28 07:14:29 【问题描述】:

程序员朋友们,您好,

自从我尝试解决此问题以来已经有几个小时了。我计划创建某种与 Facebook 的 ios 应用程序相同的菜单视图。问题是,我在UIScrollView 中最多只能添加两个UIButtons,第三个和其他连续按钮不会出现。我希望你能帮我解决这个问题。

这里是代码块:

- (void)viewDidLoad

[super viewDidLoad];
self.navigationController.navigationBarHidden = NO;
for (int i = 0; i < colors.count; i++) 
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;

    UIView *subview = [[UIView alloc] initWithFrame:frame];

    if(i == 0)
    

        UIButton *button = [[UIButton buttonWithType:UIButtonTypeCustom] retain];    //Creates a UIButton

        button.frame = CGRectMake(25, 65, 70, 70); //sets the coordinates and dimensions of UIButton

        button.backgroundColor = [UIColor clearColor]; //sets the background color

        [button addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside]; //sets the target and action for the button

        [button setBackgroundImage:[UIImage imageNamed:@"Message Board Icon-57.png"] forState:UIControlStateNormal]; //sets the background Image


        [subview addSubview:button];
        [button release];

        UIButton *button2 = [[UIButton buttonWithType:UIButtonTypeCustom] retain]; //Creates a UIButton

        button2.frame = CGRectMake(125, 175, 70, 70); //sets the coordinates and dimensions of UIButton

        button2.backgroundColor = [UIColor clearColor]; //sets the background color

        [button2 addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside]; //sets the target and action for the button

        [button2 setBackgroundImage:[UIImage imageNamed:@"Profile Page Icon-57.png"] forState:UIControlStateNormal]; //sets the background Image

        [subview addSubview:button2];
        [button2 release];


        UIButton *button3 = [[UIButton buttonWithType:UIButtonTypeCustom] retain]; //Creates a UIButton

        button3.frame = CGRectMake(125, 65, 70, 70); //sets the coordinates and dimensions of UIButton

        button3.backgroundColor = [UIColor clearColor]; //sets the background color

        [button3 addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside]; //sets the target and action for the button

        [button3 setBackgroundImage:[UIImage imageNamed:@"iCalendar Icon-57.png"] forState:UIControlStateNormal]; //sets the background Image


        [subview addSubview:button3];
        [button3 release];


     
    [subview release];


self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * colors.count, self.scrollView.frame.size.height);


【问题讨论】:

将类型更改为圆角矩形时是否显示按钮? 您必须将 UIview *subview 添加到 scrollView 以在其中显示它以及按钮。就这样,[scrollview addsubview:subview]; 我现在已经能够发现问题了。我的图像名称中有一些拼写错误,这导致它们被添加到 UIScrollView 中的不一致...感谢@dasdom 和@iphonePlayer 花时间阅读我的担忧。 将该答案设为正确,以便其他人可以从您的经验中受益。 @dasdom 当然可以。对于像我这样的低代表用户还有时间限制。我会在 6 小时后更新。 【参考方案1】:

您必须将 UIView *subview 添加到 scrollView 才能在其中显示它以及按钮。就这样吧,[scrollView addSubview:subView];

【讨论】:

感谢@iphonePlayer 的提醒...我的代码块问题更多的是排版而不是逻辑。

以上是关于第三个和其他连续的 UIButtons 不会出现在 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章

如何使用开始和停止 UIButtons 连续跟踪位置坐标并查找距离 [关闭]

如何在 UIButtons 下连续正确移动 UIView

自定义 UIButton 背景图像在点击之前不会出现

UIButtons 不会在动画块期间淡出

UIButtons 作为标签栏?

如何在 iOS 中以圆形方向旋转 UIButtons?