내 응용 프로그램에서 UItableview 아래에 활동 표시기를 추가하고 싶습니다. tableview는 스크롤되지만 거기에 활동 표시기를 추가하는 방법을 모르겠습니다.어떻게 UITableView 아래에 활동 표시기를 추가 할 수 있습니까?
더 자세히 설명하기 위해 테이블 뷰를 스크롤 한 다음 더 많은 데이터를 얻으려면 작업 표시기로 새로 고침 옵션을 설정해야합니다.
내가 tableview의 상단에서 그것을 시도하고 효과가 있지만 어떻게 tableview 아래에 추가 할 수 있습니다 모르겠다. 여기에 몇 가지 샘플 코드가 있습니다.
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
if (isLoading) return;
isDragging = YES;
refreshHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, scrollView.contentOffset.y + REFRESH_HEADER_HEIGHT, 320, REFRESH_HEADER_HEIGHT)];
refreshHeaderView.backgroundColor = [UIColor clearColor];
refreshLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, scrollView.contentOffset.y + REFRESH_HEADER_HEIGHT, 320, REFRESH_HEADER_HEIGHT)];
refreshLabel.backgroundColor = [UIColor clearColor];
refreshLabel.font = [UIFont boldSystemFontOfSize:12.0];
refreshLabel.textAlignment = UITextAlignmentCenter;
refreshArrow = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"refresharrow.png"]];
refreshArrow.frame = CGRectMake((scrollView.contentOffset.y + REFRESH_HEADER_HEIGHT - 27)/2,
(scrollView.contentOffset.y + REFRESH_HEADER_HEIGHT - 44)/2,
27, 44);
refreshSpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
refreshSpinner.frame = CGRectMake((scrollView.contentOffset.y + REFRESH_HEADER_HEIGHT - 20)/2, (scrollView.contentOffset.y + REFRESH_HEADER_HEIGHT - 20)/2, 20, 20);
refreshSpinner.hidesWhenStopped = YES;
[refreshHeaderView addSubview:refreshLabel];
[refreshHeaderView addSubview:refreshArrow];
[refreshHeaderView addSubview:refreshSpinner];
[tableview addSubview:refreshHeaderView];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (isLoading) {
// Update the content inset, good for section headers
if (scrollView.contentOffset.y > 0){
NSLog(@"scrollView.contentOffset.y 1= %d",scrollView.contentOffset.y);
tableview.contentInset = UIEdgeInsetsZero;
}
else if (scrollView.contentOffset.y >= -REFRESH_HEADER_HEIGHT){
NSLog(@"scrollView.contentOffset.y 2= %d",scrollView.contentOffset.y);
tableview.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
}
} else if (isDragging && scrollView.contentOffset.y > scrollView.contentOffset.y + REFRESH_HEADER_HEIGHT) {
// Update the arrow direction and label
[UIView beginAnimations:nil context:NULL];
if (scrollView.contentOffset.y > scrollView.contentOffset.y + REFRESH_HEADER_HEIGHT) {
// User is scrolling above the header
NSLog(@"scrollView.contentOffset.y 3= %d",scrollView.contentOffset.y);
refreshLabel.text = self.textRelease;
[refreshArrow layer].transform = CATransform3DMakeRotation(M_PI, 0, 0, 1);
} else { // User is scrolling somewhere within the header
refreshLabel.text = self.textPull;
[refreshArrow layer].transform = CATransform3DMakeRotation(M_PI * 2, 0, 0, 1);
}
[UIView commitAnimations];
}
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
if (isLoading) return;
isDragging = NO;
if (scrollView.contentOffset.y >= scrollView.contentOffset.y + REFRESH_HEADER_HEIGHT) {
// Released above the header
[self startLoading];
}
}
그래서 누군가 내가 그걸 어떻게 할 수 있는지에 대한 예제 코드를 알려주십시오.
실제로 iphone 응용 프로그램 개발에 새로운 소식입니다. 제발 도와주세요.
미리 감사드립니다.
덕분에 내가 그렇게하려고합니다 ... – Emon
: 당신이 나에게 약간의 소스 코드를 줄 것이다? – Emon
전체 코드가 필요하거나 바닥 글 코드 – Anand