UIView中的UIButtons

时间:2010-09-24 03:04:59

标签: iphone uiview uiscrollview uibutton

我有一个UIScrollview,其中IBOutlet映射到ganttScroller。这个UIScrollView里面有一个UIView。我在IB中制作了UIView,其宽度为100。

然后我开始向该UIView添加按钮(通过IBOutlet scrollContent映射)

float test = [scrollContent frame].size.width;
for (int i=0; i<15; i++) {
        UIButton *showButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];  

        showButton.frame = CGRectMake(55.0 * i,  
                                        50.0,  
                                        50.0,  
                                        20.0);  
        [showButton setTitle:NSLocalizedString(@"test", @"") forStates:UIControlStateNormal];  
        [scrollContent addSubview:showButton];  
    }
    test = [scrollContent frame].size.width;
    [scrollContent sizeToFit];
    test =[scrollContent frame].size.width;

一开始我检查我的scrollContent的大小,它确实是100(在调试器中检查'test'),在添加按钮之后它又是100,而在sizeToFit之后它仍然是100(我会期待很多)更大,因为所有这些按钮都已添加...按钮显示正确! 我的gantScroller(UIScrollView)需要正确的大小

有什么问题?

1 个答案:

答案 0 :(得分:1)

我认为-[UIView sizeToFit]实际上不会考虑其子视图。您需要简单地计算正确的宽度并将其分配给视图的框架。然后,您还需要设置滚动视图的contentSize属性,以使其正确滚动。

尽管容器太小,你看到所有按钮的原因可能是UIViews默认剪辑他们的子视图。