开发者

Xcode: Scrollview with images in scrollview

I'm trying to make a view looking almost like the info-view in appStore, with text on the first half of the view and images on the second half. I've tried to use a scrollview in another scrollview. The first view (containing a textview on the top half and a scrollview on the bottom half) scrolls nice, but the scrollview at the bottom (containing several imageviews) doesn't scroll.

Any ideas how to make the second scrollview to scroll?

scrollView is the view containing a textview and a scrollview.

imageScrollView is the view with the imageview开发者_如何学运维s.

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


I recently figured it out myself, but forgot to post the answer. The problem was that I set the sizes of the scrollviews in .xib to the same sizes as in the code. When I changed it to 320,416 and 320,400 I was able to scroll them with the setContentSize. In the imageScrollView I then added images along the x-axis (first image at 0, second at image width + a small space and so on). Hope this could help someone.


HERE IS CODE OF scroll-view display images from Documents Directory ByType .png Images who seved by user from Iphone Photo Gallery

- (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;
    }
}
}

All The Very Best i Hope its useful Thank You If Thats code Help please give Your Feedback

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜