로드 뷰 메서드에 다음 코드가 있는데 왜 다른 색상 블록이 모두 표시되지 않는지 이해할 수 없습니다. 두 번째 'self.view ='가 두 번째보기와 겹쳐서 녹색보기 만 볼 수 있다고 생각했습니다. 그러나보기 알파를 0.5로 설정하더라도 여전히 파란색 블록이 표시되지 않고 초록색 블록이 더 투명 해집니다.iPhone보기가 표시되지 않습니다.
나는 정말 바보 같은 것을 놓치고 있습니까?
- (void)loadView {
CGRect newFrame;
newFrame.origin = CGPointMake(100, 100);
newFrame.size = CGSizeMake(100, 40);
UIView *myView = [[UIView alloc] initWithFrame:newFrame];
myView.backgroundColor = [UIColor blueColor];
//myView.alpha = 0.5;
self.view = myView;
CGRect newFrame2;
newFrame2.origin = CGPointMake(100, 200);
newFrame2.size = CGSizeMake(100, 40);
UIView *myView2 = [[UIView alloc] initWithFrame:newFrame2];
myView2.backgroundColor = [UIColor greenColor];
//myView2.alpha = 0.5;
self.view = myView2;
}
감사를 사용해보십시오. 나는 첫 번째 self.view = myView; 화면에는 아무 것도 나타나지 않았다. 파란 상자를보고 나서 휴식을 취한 후에는 녹색으로 변경된보기를 보았습니다. 그러나 그 작업을 수행하지 못해서 무슨 일이 일어나고 있는지 확신 할 수 없었습니다. – Mike
디스플레이는 일반적으로 프로그램이 메인 루프 (프레임 워크 내부에 있음)로 돌아 오면 일반적으로 업데이트됩니다. 그렇지 않으면 디스플레이를 변경 한 모든 조작은 매우 다음 라인이 다른 다시 그리기를 요구할 때에도 비싼 다시 그리기를 수행합니다. – Anomie
의미가 있습니다. 감사! addSubview를 사용할 수 있었고 올바르게 작동합니다. [[자체보기] addSubview : myView2]; – Mike