Xcode: Scrollview с изображениями в Scrollview - PullRequest
0 голосов
/ 21 апреля 2011

Я пытаюсь сделать вид, похожий на инфо-представление в appStore, с текстом в первой половине представления и изображениями во второй половине.Я пытался использовать представление прокрутки в другом просмотре прокрутки.Первое представление (содержащее текстовое представление в верхней половине и прокручиваемое в нижней половине) хорошо прокручивается, но прокручиваемое в нижней части (содержащее несколько изображений) не прокручивается.второй scrollview для прокрутки?

scrollView - это представление, содержащее текстовое представление и представление прокрутки.
imageScrollView - это представление с изображениями.

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

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Я сам недавно разобрался, но забыл опубликовать ответ.Проблема заключалась в том, что я установил размеры прокрутки в .xib на те же размеры, что и в коде.Когда я изменил его на 320,416 и 320,400, я смог прокрутить их с помощью setContentSize.Затем в imageScrollView я добавил изображения вдоль оси x (первое изображение в 0, второе в ширину изображения + небольшое пространство и так далее)Надеюсь, это может кому-то помочь.

0 голосов
/ 04 января 2012

ЗДЕСЬ КОД ОТКРЫТИЯ отображаемых изображений из каталога документов ByType .png Изображения, отправленные пользователем из 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;
    }
}
}

Все самое лучшее, я надеюсь, что это полезно. Спасибо, если это код Помогите, пожалуйста, оставьте отзыв

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...