저는 iPhone 개발에 익숙하며 컨트롤러에 이러한 항목을 새로 고치라는 알림을 표시 한 후 하위보기가 표시되지 않습니다.이미 표시된보기에서 하위보기가 표시되지 않습니다.
그래서, 맨 아래에 뉴스 피드의 마지막 항목 3 개를 보여주는 내 메인 페이지입니다. 뷰 컨트롤은 (NSArray에서) 뉴스 피드의로드를 처리합니다. 페이지를로드 할 때 뉴스 피드가 기본보기의 하위보기로 올바르게 표시됩니다. 그러나보기가 이미 존재하는 경우 (예 : 처음 로그인 한 직후) 뉴스 피드가 표시되거나 새로 고쳐지지 않습니다. 인터넷에서 비동기 적으로 가져온 아바타 이미지가 올바르게 표시됩니다. 그러나 레이블은 아닙니다.
디버그 코드가 제대로 실행되고 있음을 보여줍니다 ...하지만 아무 일도 일어나지 않습니다 ...
여기에 알림을 처리하고 새로 고침 코드입니다.
나는 바보 같은 것을 놓치지 만 내 손가락을 넣을 수는 없다고 확신합니다. 하위 뷰의 UILabel 또는 UIImage가 리프레시 할 요소를 피할 수 있습니까?
도움 주셔서 감사합니다.
controler를 코드
-(void) handleRefreshNewsfeed:(NSNotification*)notification{
if (self.newsfeedMostRecentDate == nil){
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMdd HH:mm"];
self.newsfeedMostRecentDate = [dateFormatter dateFromString:@"20100101 00:00"];
[dateFormatter release];
}
NSArray * newsfeed = [cdw getNewsfeedForUser:self.currentUser andLimit:self.newsfeedLimit];
if ([newsfeed count] > 0){
self.newsfeedMostRecentDate = [(Newsfeed *)[newsfeed objectAtIndex:0] posted];
if ([self.view isKindOfClass:[MenuView class]]){
[(MenuView *)self.view refreshNewsfeed:newsfeed];
}
}
}
주요보기 선언 :
@interface MenuView : UIView {
MenuNewsfeed * newsFeedView;
}
@property(nonatomic, retain) IBOutlet MenuNewsfeed *newsFeedView;
-(void)displayNewsfeed:(NSArray *)newsfeed;
-(void)refreshNewsfeed:(NSArray *)newsfeed;
주요 뷰 코드 :
-(void)displayNewsfeed:(NSArray *)newsfeed{
[self.newsFeedView setCurrentUser:currentUser];
[self.newsFeedView displayNewsfeed:newsfeed];
[UIView animateWithDuration:0.75f
delay: 0.0
options: UIViewAnimationOptionCurveEaseIn
animations:^{
self.newsFeedView.alpha = 1.0;
}
completion:^(BOOL finished){
//nothing
}
];
}
-(void)refreshNewsfeed:(NSArray *)newsfeed{
if ([self.newsFeedView.newsfeed count] > 0){
[UIView animateWithDuration:0.50f
delay: 0.0
options: UIViewAnimationOptionCurveEaseIn
animations:^{
self.newsFeedView.alpha = 0.0;
}
completion:^(BOOL finished){
// [self displayNewsfeed:newsfeed];
}
];
}else {
[self displayNewsfeed:newsfeed];
}
}
마이클
힌트를 보내 주셔서 감사합니다!나는 당신의 제안을 시도해 보았고, 검은 배경도 추가했다. 그러나 그것은 여전히 보이지 않는다. 나의 이해가 정확하다면, addSubview 메소드는 다른 모든 것들 위에 sbview를 추가한다. 그래서 나는 조금 잃어버린 ... –
음, 그래. 하위 뷰 레이어 위에 추가됩니다. 다른 항목이 보이나요? 다른보기 유형을 추가하려고 했습니까? self.view가 제대로 생성 되었습니까? 또는 어떤 이유로 싫은가요? –
나는 모든 것을 잘 선언했다 ... 나는 코드를 넣기 위해 나의 포스트를 편집 할 것이다. –