CGFloat width = textField.text.floatValue;
CGFloat height = textField2.text.floatValue;
CanvasView *canv = [[CanvasView alloc] initWithFrame:CGRectMake((self.myscrollview.frame.size.width - width)/2, (self.myscrollview.frame.size.height - height)/2, width, height)];
[canv setBackgroundColor:[UIColor whiteColor]];
self.canvas = canv;
[self.myscrollview addSubview:canv];
我使用此代码在运行时在UIView
中添加UIScrollView
,width
和height
参数来自用户运行时< / strong>但问题是:
如果width
和height
的大小超过UIScrollView
,那么它就不会显示水平滚动条。
为什么会这样?
答案 0 :(得分:1)
尝试设置self.myscrollview.showsHorizontalScrollIndicator = YES
答案 1 :(得分:1)
问题似乎在于contentSize
的{{1}}。
当scrollView
和width
增加时,您必须相应地更改height
的{{1}}。
contentSize
定义了UIScrollView
上显示的可滚动内容的限制。
contentSize
如果您的scrollview
只有scrollView.contentSize = CGSizeMake(width, height);
,则上述代码行必须在任何情况下都有效。
否则,您需要相应地设置contentSize以包含其他scrollview
。
答案 2 :(得分:0)
您必须将滚动视图框设置为您所需的屏幕尺寸(即可见区域)。 只有你设置滚动视图内容大小。
CGFloat width = textField.text.floatValue;
CGFloat height = textField2.text.floatValue;
self.myscrollview.frame=CGRectMake(0, 0, 768, 1004);
CGSizeMake contentOffset;
contentOffset = CGSizeMake(width, height);
[self.myscrollview. setContentSize:contentOffset animated:NO];
CanvasView *canv = [[CanvasView alloc] initWithFrame:CGRectMake(0, 0, width, height)];
[canv setBackgroundColor:[UIColor whiteColor]];
self.canvas = canv;
[self.myscrollview addSubview:canv];
然后如果你想要滚动指示器,你可以使用
self.myscrollview.showsHorizontalScrollIndicator = YES;