좋아, 나는 이런 종류의 일을 백만 번했을 그러나이 특별한 경우는 저를 탈출 내가 놓친 거지 바보 같은 그 뭔가 확신 ...라벨 오버레이의 UIView에 표시되지
그러나 나는 지도 뷰 위에 UIView를 표시하려고하면 mapview가 '사용 중지되었습니다.'라는 인상을 주려고합니다.
UIView 하위 클래스를 만들고 단일 레이블을 추가했습니다. 같은 ... 내하는 .m에서
#import <UIKit/UIKit.h>
@interface DisabledOverlayView : UIView
@property (nonatomic, strong) UILabel *disabledOverlayViewText;
@end
아무것도 복잡하지 .H
...
나는 텍스트를 설정하고 내 UIView의에 추가합니다.
@synthesize disabledOverlayViewText = _disabledOverlayViewText;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.backgroundColor = [UIColor blackColor];
self.alpha = 1;
_disabledOverlayViewText.textColor = [UIColor whiteColor];
_disabledOverlayViewText.frame = CGRectMake(0, 0, 200, 200);
// [_disabledOverlayViewText setCenter:self.center];
_disabledOverlayViewText.text = @"testing";
[self addSubview:_disabledOverlayViewText];
}
return self;
}
다음 클래스는 내가 그것을 호출이 오버레이 ...이의
DisabledOverlayView *disabledView = [[DisabledOverlayView alloc] initWithFrame:CGRectMake(12, 12, _mapView.frame.size.width, _mapView.frame.size.height)];
disabledView.disabledOverlayViewText.text = @"No Location";
[self.view addSubview:disabledView];
없음이 너무 복잡하지를 사용하려면 ..하지만 레이블이 표시되지 않습니다 쪽으로. 오버레이는 잘 보이지만 레이블 텍스트는 표시되지 않습니다. 눈의 시야가 아니라 주사위가 아닐지도 모른다고 생각하는 레이블의 프레임을 엉망으로 만들었습니다. 그리고 나는 무슨 일이 일어나는지 알 수 없다.
귀하는 귀하의 DisabledOverlayView.textView 프레임이 항상 동일하다는 것을 알고 있습니까? 하위보기로 mapview를 추가 한 후에 레이블을 추가합니까? – peko
예, 레이블의 프레임은 Ive가 하드 코드했기 때문에 항상 동일합니다. 그리고 Label은 내 DisabledOverlayView의 init 호출에 추가되어야합니다.mapView가 이미 존재하고 (xib에 있음) 데이터 검사를 실행하여 비활성화해야하는지 확인한 다음 내 오버레이를 만든 다음 레이블을 만듭니다. 예, 맵뷰가 할당 된 후에 라벨을 만들어야합니다. 어느 쪽이든, 레이블은지도와 관련이 없습니다. 전적으로. – JMD
_disabledOverlayViewText를 만들지 않습니다. 이 초기화는 오버레이 뷰 자체를위한 것입니다. 레이블에 대한 alloc init은 어디에 있습니까? – rdelmar