わかりました、私はこの種のことを何百万回も行いましたが、この特定のケースは私を逃れ、私が見逃しているのは愚かなことだと確信しています...
しかし、mapViewの上にUIViewを表示して、mapviewが「無効になっている」という印象を与えようとしています。
UIViewサブクラスを作成し、単一のラベルを追加しました。そのようです...
.h
#import <UIKit/UIKit.h>
@interface DisabledOverlayView : UIView
@property (nonatomic, strong) UILabel *disabledOverlayViewText;
@end
複雑なことは何もありません...
.mでテキストを設定し、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];
これはどれも複雑すぎません。しかし、ラベルは表示されません。オーバーレイは問題なく表示されますが、ラベルテキストは表示されません。私はラベルのフレームをいじりましたが、おそらくそれは目に見える視界から外れていましたが、サイコロはありませんでした。そして、私は何が起こっているのか理解できません。