23 iphone uiscrollview uiimageview ios5
我想在图像视图中显示图像(宽度:320像素,高度:1250像素).
当我编译应用程序时,我根本没有滚动.视图保持不变.
我做了什么:
UIScrollViewvia Interface Builder.UIImageView在我的视图中添加了一个via Interface Builder.UIImageView以下内容UIScrollView.UIScrollViewwith 的大小ViewDidLoad.我该怎么做呢?
码:
- (void)viewDidLoad
{
[super viewDidLoad];
scrollView.contentSize = CGSizeMake(320, 1250);
}
Run Code Online (Sandbox Code Playgroud)
截图:
ImageView:

ScrollView:


Kru*_*nal 27
我刚刚完成了同样的任务..尝试这个......
scrollView.delegate = self;
scrollView.scrollEnabled = YES;
int scrollWidth = 120;
scrollView.contentSize = CGSizeMake(scrollWidth,80);
int xOffset = 0;
imageView.image = [UIImage imageNamed:[imagesName objectAtIndex:0]];
for(int index=0; index < [imagesName count]; index++)
{
UIImageView *img = [[UIImageView alloc] init];
img.bounds = CGRectMake(10, 10, 50, 50);
img.frame = CGRectMake(5+xOffset, 0, 50, 50);
NSLog(@"image: %@",[imagesName objectAtIndex:index]);
img.image = [UIImage imageNamed:[imagesName objectAtIndex:index]];
[images insertObject:img atIndex:index];
scrollView.contentSize = CGSizeMake(scrollWidth+xOffset,110);
[scrollView addSubview:[images objectAtIndex:index]];
xOffset += 70;
}
Run Code Online (Sandbox Code Playgroud)
还设置这个....
imagesName = [[NSArray alloc]initWithObjects:@"image1.jpg",@"image2.jpg",@"image3.jpg",@"image4.jpg",@"image5.jpg",@"image6.png",@"image7.png",@"image9.png",nil];
images = [[NSMutableArray alloc]init];
Run Code Online (Sandbox Code Playgroud)
git*_*rik 26
所以对我来说问题是设置内容大小不起作用viewDidLoad().我尝试了一切,我不明白为什么它不想工作,然后我尝试了相同的东西viewDidAppear(),它神奇地工作...
Mat*_*uch 10
从你的最后一个截图和你的评论看起来你的scrollView是大的.滚动视图必须完全在屏幕上可见.例如,iPhone上的全屏UIScrollView的大小为320 x 460.
如果滚动视图的大小与其内容相同,则无法滚动.
绿色矩形显示滚动视图的大小,粉红色的内容大小(您的图像):

我在iOS6上遇到了同样的问题,解决方案是以编程方式调整ContentSize.所以我将引用Raja(上图)来说明这一点:
CGSize scrollViewContentSize = CGSizeMake(320, 400);
[self.scrollView setContentSize:scrollViewContentSize];
Run Code Online (Sandbox Code Playgroud)
注意:我在iOS5上没有这个问题..似乎iOS6决定做很多恶作剧就像旋转/定向传奇
小智 6
从Xcode 5开始,它不像以前那样工作.滚动到可滚动文本字段的末尾也会产生问题.在iPhone或iPad上进行此操作也存在差异.在iPhone上它没有延迟计时器.
这对我有用:
- (void)viewDidLoad
{
[super viewDidLoad];
NSTimer *timerforScrollView;
timerforScrollView =[NSTimer scheduledTimerWithTimeInterval:0.1
target:self selector:@selector(forScrollView)userInfo:nil repeats:NO];
}
- (void) forScrollView {
[scrollviewPad setScrollEnabled:YES];
[scrollviewPad setContentSize:CGSizeMake(768, 1015)]; // must be greater then the size in Storyboard
}
Run Code Online (Sandbox Code Playgroud)
我发现我有类似的问题,但上述代码都没有奏效.问题是由于自动布局.我发现如果我通过单击"实用程序" - >"文件检查器"转到故事板关闭自动布局,并取消选中Use Autolayout滚动功能(我也设置scroll.contentSize = ...).
Swift 4,iOS 11
使用自动版式的最简单方法:
| 归档时间: |
|
| 查看次数: |
78830 次 |
| 最近记录: |