Xcode:滚动视图中的图像滚动视图

时间:2011-04-21 10:49:49

标签: xcode uiscrollview scroll non-scrolling

我正在尝试使视图看起来几乎像appStore中的信息视图,视图的前半部分是文本,后半部分是图像。我试图在另一个scrollview中使用scrollview。第一个视图(包含上半部分的textview和下半部分的滚动视图)滚动不错,但底部的滚动视图(包含多个图像视图)不会滚动。

如何让第二个滚动视图滚动?

scrollView是包含textview和scrollview的视图 imageScrollView是带有图像视图的视图。

[scrollView setContentSize:CGSizeMake(320, 585)];
[imageScrollView setContentSize:CGSizeMake(1520, 400)];

2 个答案:

答案 0 :(得分:1)

我最近自己弄清楚了,但忘记发布答案了。问题是我将.xib中scrollviews的大小设置为与代码中相同的大小。当我将其更改为320,416和320,400时,我能够使用setContentSize滚动它们。在imageScrollView中我然后沿x轴添加图像(第一个图像在0,第二个图像宽度+一个小空间,依此类推)。希望这可以帮助某人。

答案 1 :(得分:0)

这里是来自文档目录的滚动视图显示图像的代码ByType .png用户从Iphone照片库中搜集的图像

- (void)viewDidLoad {
int scrollviewwidh = 120;

self.view.backgroundColor = [UIColor darkTextColor];

hiImage = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 300, 240)];  
hiImage.backgroundColor = [UIColor blackColor];




hiImage.userInteractionEnabled = YES;

[hiImage.layer setBorderColor:[UIColor blackColor].CGColor];
[hiImage.layer setBorderWidth:2.01f];
[self.view addSubview:hiImage];
[hiImage release];
scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 260, 320, 110)];
[self.view addSubview:scroll];
scroll.showsHorizontalScrollIndicator = NO;
scroll.pagingEnabled=YES;
scroll.delegate=self;
scroll.contentSize=CGSizeMake(scrollviewwidh,80);
scroll.showsVerticalScrollIndicator =YES;
scroll.backgroundColor = [UIColor darkTextColor];


}

-(void) viewWillAppear:(BOOL)animated{
self.fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
self.documentsDir = [paths objectAtIndex:0];
NSLog(@"the ----------- %@",documentsDir);

for (UIButton * img in self.scroll.subviews) {
    [img removeFromSuperview];
    img = nil;
}
int xoffcet = 0;
int col = 0;
int scrollviewwidh = 120;

for (NSString* fileName in [self.fileManager contentsOfDirectoryAtPath: self.documentsDir error:nil]){
    if ( [fileName rangeOfString:@".png"].location != NSNotFound  ) {

        NSLog(@"add %@", fileName);
        UIImage* img = [UIImage imageWithContentsOfFile:
                        [self.documentsDir stringByAppendingPathComponent:fileName]
                        ];

        imgView = [[UIButton alloc] init];
        [imgView setImage:img forState:UIControlStateNormal];




        [imgView addTarget:self action:@selector(imageViewClicked:) forControlEvents:UIControlEventTouchUpInside];
        [imgView.layer setBorderColor:[UIColor lightGrayColor].CGColor];
        [imgView.layer setBorderWidth:1.0f];
        imgView.bounds = CGRectMake(10,10, 50, 50);
        imgView.frame = CGRectMake(5+xoffcet, 0, 160, 110);





        scroll.contentSize =CGSizeMake(scrollviewwidh+xoffcet,110);
        [scroll addSubview:imgView];
        [imgView release];
        xoffcet +=170;

    }

    if (col++>1) {
        //row++;
        col = 0;
    }
}




    self.title = @"saved Photo";
//  [scroll release];
[super viewDidLoad];
//  scroll.pagingEnabled = YES;

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:
                                         UIBarButtonSystemItemCancel 
                                                                                     target:self 
                                                                                     action:@selector(photogallary:)];



}

-(IBAction)imageViewClicked:(UIButton *)sender{


for (NSString* fileName in [self.fileManager contentsOfDirectoryAtPath: self.documentsDir error:nil]){
    if ( [fileName rangeOfString:@".png"].location != NSNotFound  ) {

        NSLog(@"add %@", fileName);
        UIImage* img = [UIImage imageWithContentsOfFile:
                        [self.documentsDir stringByAppendingPathComponent:fileName]];


        hiImage.image = img;
    }
}
}

所有最好的我希望它有用谢谢你如果这是代码帮助请提供反馈