나는 UIPageControl
과 함께 사용하여 가로로 스 와이프 할 때 다른 페이지를 사용하고자하는 UIScrollView
을 가지고 있습니다. 모든 페이지마다 UITextView
과 숫자가 UIImageView
이되어야합니다. ViewController
나는 데이터가 도착하면 다음과 같이 내가 항목을 추가 할 웹 서비스 및 전화 내에서 는 :UIScrollView 및 UIPageControl을 올바르게 사용하는 방법은 무엇입니까?
for(int i=0;i<[arrData count];i++) {
NSString *[email protected]"Dummy text";
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size.width = self.scrollView.frame.size.width;
frame.size.height = 40; //vedere landscape
UILabel *label = [[UILabel alloc] initWithFrame:frame];
[label setText:body];
label.numberOfLines=0;
[label sizeToFit];
label.autoresizingMask=UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.scrollView addSubview:label];
[label setBackgroundColor:[UIColor whiteColor]];
[self.scrollView addSubview:label];
int y_pos=label.frame.size.height+10;
int x_pos=0;
for(int img=0; img<[[[arrData objectAtIndex:i]objectForKey:@"images"] count]; img++) {
NSString *imageURL=[[[[arrData objectAtIndex:i] objectForKey:@"images"] objectAtIndex:img] objectForKey:@"fn"];
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageURL]];
UIImage *image = [UIImage imageWithData:imageData];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[imageView setFrame:CGRectMake(self.scrollView.frame.size.width * i+img*100, y_pos, image.size.width, image.size.height)];
[self.scrollView addSubview:imageView];
}
}
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * [arrData count], self.scrollView.frame.size.height);
는 세로 잘 실행되지만 장치가 회전 할 때, 분명히, 레이아웃은 ... 파괴되는 을 PageControl
과 함께 사용하는 가장 좋은 방법은 무엇입니까? 회전을 처리하고 삽입 된 항목 사이의 거리를 변경해야합니까 (아니면 제 생각에는) 모든 것을 빌드하는 더 좋은 방법이 있습니까?
autolayout을 사용하고 있습니까? 그렇다면 프레임을 설정하는 대신 제약 조건을 사용하십시오. 또는 레이아웃을 완전히 제어하려는 경우 (회전 할 때 프레임을 새 값으로 설정) 회전을 처리해야합니다. pagecontrol에서 scrollview와 함께 autolayout을 사용하고 있으며 회전이 잘 작동합니다 (추가 코드 필요 없음). – yuf
사실 저는 autolayout을 사용하지 않습니다. – Cris
레이아웃이 엉망이라는 것은 무엇을 의미합니까? 설정 한 프레임이 변경 되나요? 아니면 그것이 무엇을 해야하는지 (프레임은 동일하게 유지됩니다)하지만 나쁘게 보입니까? – yuf