円形のビューを作成する
iPhoneのGoogle Mapsアプリでストリートビューを見ると,右下に地図を表示する覗き窓のようなものが現れる.
今開発しているアプリでこれをマネしたかったので,以下にコードをメモ.
*はじめにQuartzCore/QuartzCore.hをインポートしておく
//サイズ指定はお好みで float diameter=150.0; float originX=862; float originY=604; MKMapView *mapView=[[MKMapView alloc] initWithFrame:CGRectMake(originX, originY, diameter, diameter)]; mapView.layer.cornerRadius = diameter/2.0; [self addSubview:mapView];
まず短形でMKMapViewインスタンスを作成し,mapView.layer.cornerRadiusに値をセットしビューの角を丸めて円形にしている.
結果
何も表示しないUIViewクラス内で上記のコードを実行した結果.
本物のMapsアプリのように枠をつけたい場合は
[[mapView layer] setBorderColor:[[UIColor whiteColor] CGColor]];
[[mapView layer] setBorderWidth:4.0];
など.ここではUIViewで定義されているpropertyのみにアクセスしているので,すべてのUIViewサブクラスで同じことができる.