2016-05-05 11 views
0

イメージをビューに追加し、サムネイルを素敵なきれいな行に表示しようとしています。私が抱えている問題は、アレイの最後のイメージだけが表示されるので、すべてのイメージがコーナーの上に重ねて表示されるように見えるということです。Objective-Cビューの最後にイメージのサムネイルを追加します。

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view from its nib. 


self.notesField.delegate = self; 
NSString *userName = ((ontracAppDelegate*)[UIApplication sharedApplication].delegate).userName; 

self.textField.text = [NSString stringWithFormat:@"Date Created: %@ \nCreated By: %@",[NSDate date], userName]; 

if (self.noteText != nil) { 
    self.notesField.text = self.noteText; 
    self.notesField.editable = NO; 
    self.textLabel.hidden = TRUE; 

} 
[self.view resignFirstResponder]; 
if ([self.imageArray count] != 0) { 
    for (UIImage *image in imageArray) { 
     NSLog(@"Image %@", image); 
     [self addImageToScreen:image]; 
    } 
} 
NSLog(@"imageArray %@", imageArray); 
NSLog(@"self.textField.text %@", self.textField.text); 
NSLog(@"self.notesField.text %@", self.notesField.text); 
} 

-(void) addImageToScreen:(UIImage*) image; 
{ 
int adjustHeight = 0; 
int adjustWidth = 10; 
int imagesInARow = 7; 

int imageHeight = 75; 
int imageWidth = 75; 

int count = [self.imageArray count]; 
self.numberOfPhotosLabel.text = [NSString stringWithFormat:@"%i",count]; 

if (count > 1 && count < imagesInARow) { 
    adjustHeight = 0; 
    adjustWidth = (20 * [self.imageArray indexOfObject:image]) + ([self.imageArray indexOfObject:image] * imageWidth); 
} 


UIButton* container = [[UIButton alloc] init ]; 


CGRect frame = CGRectMake(adjustWidth, 5, imageWidth, imageHeight); 
[container setTag:[self.imageArray indexOfObject:image]]; 
[container setImage:image forState:UIControlStateNormal]; 
[container setFrame:frame]; 
[container addTarget:self action:@selector(displayFullScreenImage:) forControlEvents:UIControlEventAllTouchEvents]; 


UIStackView *photosView = [[UIStackView alloc] initWithFrame:frame]; 
container.frame = photosView.bounds; 

[photosView addSubview:container]; 


[self.view addSubview:photosView]; 

} 
+0

イメージを「imageArray」に追加しますか?コードから、私はこの配列が常に空であると仮定します。 – dasdom

+0

これは他の場所に追加されていますが、配列をチェックしたところ空ではありません。 – jampez77

+0

ええ、私はちょうど確かめたいと思っていました。次に、私の答えをチェックしてください。 – dasdom

答えて

0

利用UIStackView代わりのaddSubviewaddArrangedSubview

そして、すべてのボタンを同じUIStackViewに追加する必要があります。したがって、UIStackViewのプロパティをクラスに追加し、viewDidLoad(またはストーリーボード)で初期化し、addImageToScreenのスタックビューにボタンを追加します。

+0

さて、私は '[photosView addArrangedSubview:container];を持っていて、同じ結果を出しています。 – jampez77

+0

私は答えを編集しました。 – dasdom

+0

OKだから私はそれを与えたが運がない。私がやったことは、.hファイルに '@property(strong、nonatomic)IBOutlet UIStackView * photosView;'が追加されました。 viewDidLoadで 'self.photosView = [[UIStackView alloc] initWithFrame:CGRectMake(10、5、500、75)];'を追加し、addImageToScreen '[self.photosView addSubview:container]で次の行を編集しました。 [self.view addSubview:self.photosView]; '結果は同じです:/ – jampez77

関連する問題