UIView를 하위 클래스로 끌어 와서 내 응용 프로그램의 단일보기 컨트롤러에 여섯 개의 작은 상자를 그릴 수있게하려고합니다.이 아이디어 위에 레이블을 사용하여 텍스트를 표시합니다. 상자.Subclass 현재보기 컨트롤러에 상자를 표시하는 UIView
나는 새로운 목표 - C 클래스를 서브 클래 싱 UIView
을 만들었습니다, 마지막으로 승 UIVie
을 대체하여 내 스토리 보드에서 '보기'에 사용자 정의 클래스를 적용 상자 &의 크기/색상/위치를 설정 코드를 입력 ID 관리자의 Custom Class
섹션에있는 내 수업의 이름 (이 앱은 단일보기 앱 btw입니다.)하지만 앱을 실행할 때 이미 스토리 보드에 있었던 것 외에는 아무 것도 나타나지 않습니다. - 완전히 동일한 코드를 사용하면 빈 응용 프로그램 6 상자가 나타납니다! 그래서 내가 여기 ... 뭔가를 놓치고 생각하면 박스 내 코드의 일부입니다
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(context, 0.611, 0.505, 0.321, 0.8);
CGContextFillRect(context, CGRectMake(53, 271, 37, 52));
CGContextFillRect(context, CGRectMake(141, 271, 37, 52));
CGContextFillRect(context, CGRectMake(229, 271, 37, 52));
CGContextFillRect(context, CGRectMake(52, 399, 37, 52));
CGContextFillRect(context, CGRectMake(140, 399, 37, 52));
CGContextFillRect(context, CGRectMake(229, 399, 37, 52));
}
apple docs에 따르면 "UIView를 직접 하위 클래스로 만들면이 메서드를 구현할 때 super를 호출 할 필요가 없습니다. 다른 뷰 클래스를 서브 클래 싱하는 경우 구현의 어느 시점에서 super를 호출해야합니다." 그래서 [super drawRect] 필요 없음 – santhu
색상을 설정하기 위해 레이블의 배경을 사용하는 것을 생각조차하지 못했습니다 ... 이유가 없습니다 ... 분명히 생각하는 것 이상 :(완벽하게 작동하지만 감사합니다 :) – user2820855